wordpress子主题加载子样式两次,没有父样式

时间:2015-12-01 01:54:10

标签: css wordpress themes

WP codex让我扭曲了所有的自相矛盾和错误的信息围绕着创造一个儿童主题。子主题页面说我只需要style.css和functions.php。那是错的。父主题是二十五。我尝试了推荐的模式,然后跟踪生成的PHP错误并添加了投诉中记录的所有文件。我的孩子主题,二十五岁,现在包含:footer.php,functions.php,header.php,index.php,sidebar.php和style.css。

子style.css文件仅包含样式表标题:

Theme Name: Twenty Fifteen Child
Theme URI: http://dwp.avionicsspecialists.net/wordpress/wp-content/themes/twenty-fifteen-child/

因为手抄本是矛盾的,我尝试了主题URI文件夹的变体:二十五个孩子,二十五个孩子和二十五个。这些变化都没有影响结果。

functions.php文件包含以下排队代码。

add_action( 'wp_enqueue_scripts', 'theme_enqueue_styles' );
function theme_enqueue_styles() {
    $parent_style = 'parent-style';

    wp_enqueue_style( $parent_style, get_template_directory_uri() . '/style.css' );
    wp_enqueue_style( 'child-style',
        get_stylesheet_directory_uri() . '/style.css',
        array( $parent_style )
    );
}

我直接从父二十四主题复制的其他文件没有任何更改。

当我激活子主题时,它会显示一个完全没有样式的WP站点。它加载子样式表两次而不是父样式表。 Codex说get_template_directory_uri()总是返回父主题路径。不对。在我的主题中,它返回子主题路径。在db中,wp_options.option_name ='template'的值为'twentyfifteen-child'。

如果我手动将该值更改为“二十五”,我会得到更接近我需要的结果。那种情况加载父样式表和子样式表。但是,手动更改数据库不是有效的解决方案。

我没有变体的想法。非常感谢任何帮助。

2 个答案:

答案 0 :(得分:1)

确保style.css主题的标题是CSS评论(它应以/*开头,以*/结尾)并且它有以下一行:

/* 
Template:     twentyfifteen
*/

编程中的经验法则:

  

不要删除您不完全理解的代码。迟早它会击中粉丝

有关子主题及其标题here的详细信息。

  

WordPress需要 style.css 中的注释标题行才能识别主题 并显示它在Design>下的管理面板中;主题作为可用的主题选项以及任何其他已安装的主题。

答案 1 :(得分:1)

在wordpress中创建子主题所需的唯一项目是style.css中的此信息:

   /*
   * Theme Name: Your Child Theme Name
   * Author: Who you are
   * Version: 1.0
   * Template: twentyfifteen
   */

您不需要在functions.php中包含URI函数。