11

我想在 wordpress 中创建一个网站,为此我采用一个主题并创建一个子主题。

我在孩子的文件夹中复制了 style.css 和 header.php,因为我也想修改 header。我修改了孩子的文件。

在我的 style.css 中,我添加了行 Template: 与父主题的名称

/*
Theme Name: Example
Theme URI: http://www.woothemes.com/
Version: 1.2.15
Description: Designed by <a href="http://www.woothemes.com">WooThemes</a>.
Author: WooThemes
Author URI: http://www.woothemes.com
Tags: woothemes
Template: mystile

  Copyright: (c) 2009-2011 WooThemes.
  License: GNU General Public License v2.0
  License URI: http://www.gnu.org/licenses/gpl-2.0.html

*/

我在 header.php 中使用这一行

<?php $logo = esc_url( get_template_directory_uri() . 'images/logo.png' ); ?> 

我的孩子主题拍摄图像,但这一行返回父亲主题的网址,而不是他的孩子!

我拿这个。

http://localhost/.../wp-content/themes/mystile/images/...

我想要这个

http://localhost/.../wp-content/themes/example/images...

任何想法

4

2 回答 2

33

您需要get_stylesheet_directory_uri,此功能首先检查子主题目录,然后检查父主题目录。您正在使用的仅检查父目录。

底线:如果某个函数的行为与您预期的不同,请检查 Codex。很可能你会在那里找到原因。

于 2013-09-10T16:20:15.570 回答
-2

添加到functions.php

// create a URL to the child theme
function get_template_directory_child() {
    $directory_template = get_template_directory_uri(); 
    $directory_child = str_replace('storefront', '', $directory_template) . 'child-storefront';

    return $directory_child;
}
于 2015-08-28T04:12:24.767 回答