Child theme problem

时间:2017-09-22 作者:Crashy

我正在尝试在网站上添加一个儿童主题,我创建了一个名为mythemename child的文件夹,我创建了样式。包含以下信息的css文件:

/*
 Theme Name: Mizrahi-child
 Theme URI: http://www.templatemonster.com/wordpress-themes
 Description: Your theme description.
 Author: Matteo Schiatti
 Author URI: http://www.templatemonster.com/
 Template:     mizrahi
 Version:      1.0.0
 License: GNU General Public License v2 or later
 License URI: http://www.gnu.org/licenses/gpl-2.0.html
 Text Domain: mizrahi
 Tags: one-column, two-columns, three-columns, left-sidebar, right-sidebar, custom-background, custom-colors, custom-menu, featured-images, post-formats, sticky-post, theme-options, threaded-comments, translation-ready
*/
在我创建函数之后。包含以下内容的php文件:

<?php
add_action( \'wp_enqueue_scripts\', \'enqueue_parent_styles\' );

function enqueue_parent_styles() {
   wp_enqueue_style( \'parent-style\', get_template_directory_uri().\'/style.css\' );
}
我可以在后台看到子主题,但当我激活它时,网站会丢失所有css。

我不明白为什么,我也尝试了样式上的@import方法。css文件,但没有:

@导入url(“../Twenty15/style.css”);

我在函数中添加了此代码。php:

    <?php

function enqueue_parent_styles() {
    wp_enqueue_style( \'parent-style\', get_template_directory_uri().\'/assets/css/dynamic.css\' );
    wp_enqueue_style( \'parent-style\', get_template_directory_uri().\'/assets/css/font-awesome.min.css\' );
    wp_enqueue_style( \'parent-style\', get_template_directory_uri().\'/assets/css/magnific-popup.css\' );
    wp_enqueue_style( \'parent-style\', get_template_directory_uri().\'/assets/css/magnific-popup.min.css\' );
    wp_enqueue_style( \'parent-style\', get_template_directory_uri().\'/assets/css/material-icons.css\' );
    wp_enqueue_style( \'parent-style\', get_template_directory_uri().\'/assets/css/material-icons.min.css\' );
    wp_enqueue_style( \'parent-style\', get_template_directory_uri().\'/assets/css/slider-pro.css\' );
    wp_enqueue_style( \'parent-style\', get_template_directory_uri().\'/assets/css/slider-pro.min.css\' );
    wp_enqueue_style( \'parent-style\', get_template_directory_uri().\'/assets/css/style.css\' );
    wp_enqueue_style( \'parent-style\', get_template_directory_uri().\'/assets/css/swiper.css\' );
    wp_enqueue_style( \'parent-style\', get_template_directory_uri().\'/assets/css/swiper.min.css\' );
    wp_enqueue_style( \'parent-style\', get_template_directory_uri().\'/assets/css/dynamic/plugins/booked.css\' );
    wp_enqueue_style( \'parent-style\', get_template_directory_uri().\'/assets/css/dynamic/plugins/builder.css\' );
    wp_enqueue_style( \'parent-style\', get_template_directory_uri().\'/assets/css/dynamic/plugins/restaurant-menu.css\' );
    wp_enqueue_style( \'parent-style\', get_template_directory_uri().\'/assets/css/dynamic/site/buttons.css\' );
    wp_enqueue_style( \'parent-style\', get_template_directory_uri().\'/assets/css/dynamic/site/elements.css\' );
    wp_enqueue_style( \'parent-style\', get_template_directory_uri().\'/assets/css/dynamic/site/footer.css\' );
    wp_enqueue_style( \'parent-style\', get_template_directory_uri().\'/assets/css/dynamic/site/forms.css\' );
    wp_enqueue_style( \'parent-style\', get_template_directory_uri().\'/assets/css/dynamic/site/header.css\' );
    wp_enqueue_style( \'parent-style\', get_template_directory_uri().\'/assets/css/dynamic/site/menus.css\' );
    wp_enqueue_style( \'parent-style\', get_template_directory_uri().\'/assets/css/dynamic/site/misc.css\' );
    wp_enqueue_style( \'parent-style\', get_template_directory_uri().\'/assets/css/dynamic/site/navigation.css\' );
    wp_enqueue_style( \'parent-style\', get_template_directory_uri().\'/assets/css/dynamic/site/post.css\' );
    wp_enqueue_style( \'parent-style\', get_template_directory_uri().\'/assets/css/dynamic/site/social.css\' );
    wp_enqueue_style( \'parent-style\', get_template_directory_uri().\'/assets/css/dynamic/widgets/about.css\' );
    wp_enqueue_style( \'parent-style\', get_template_directory_uri().\'/assets/css/dynamic/widgets/custom-post.css\' );
    wp_enqueue_style( \'parent-style\', get_template_directory_uri().\'/assets/css/dynamic/widgets/instagram.css\' );
    wp_enqueue_style( \'parent-style\', get_template_directory_uri().\'/assets/css/dynamic/widgets/subscribe.css\' );
    wp_enqueue_style( \'parent-style\', get_template_directory_uri().\'/assets/css/dynamic/widgets/widget-default.css\' );
    wp_enqueue_style( \'parent-style\', get_template_directory_uri().\'/rtl.css\' );
    wp_enqueue_style( \'parent-style\', get_template_directory_uri().\'/style.css\' );
}

add_action( \'wp_enqueue_scripts\', \'enqueue_parent_styles\' );

3 个回复
SO网友:Marcelo Henriques Cortez

正如我在报告中所说comments, CSS的名称必须是唯一的。您将每个CSS命名为“父样式”。每个都必须有不同的名称。

像这样:

wp_enqueue_style( \'parent-style1\', get_template_directory_uri().\'/style1.css\' );
wp_enqueue_style( \'parent-style2\', get_template_directory_uri().\'/style2.css\' );
代码

function enqueue_parent_styles() {
   wp_enqueue_style( \'parent-style\', get_template_directory_uri().\'/style.css\' );
}
如果主题具有ALL 主屏幕内的it样式style.css. 在大多数情况下,这是行不通的,因为模板在另一个目录中有更多的CSS。

您可能需要执行以下操作:

function enqueue_parent_styles() {
   wp_enqueue_style( \'parent-style\', get_template_directory_uri().\'/style.css\' );
wp_enqueue_style( \'parent-style\', get_template_directory_uri().\'/assets/another-style.css\' );
}
如果您需要拥有自己的CSS文件,则需要将其排队AFTER 家长

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_get_theme()->get(\'Version\')
    );
首先排列次要样式,然后排列主要样式AFTER 他们

确保调用了“add\\u操作”AFTER 创建函数。

SO网友:scytale

我无法发表评论并询问qns,回答已完成。以下第3点确定了错误;其余的我想你都会搞定的。我还添加了自己的工作排队器(但我只需要style.css)

确保CSS顶部为“模板:”指定的值与父级CSS中的“主题:”匹配

从浏览器查看页面的HTML源。“html下的<;head>;”中列出了哪些样式(如果有)?此信息可能有助于解答。

  • WP Codex 表示wp\\u enqueue\\u样式的第一个参数/参数must be a unique “句柄”(名称);but in your last example you use \'parent-style\' as the handle for every style sheet.

    检查父级功能。php并查看“排队”的确切内容。

    如果有帮助的话,这是海明威子函数中适合我的代码。php(我只需要style.css)。注意:我使用的不是字符串“parent\\u style”,而是变量$parent\\u style,该变量已被赋值。上面的WP Codex链接解释了使用的其他设置。

    function my_theme_enqueue_styles() {
      $parent_style = \'hemingway_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_get_theme()->get(\'Version\') );
    }
    add_action( \'wp_enqueue_scripts\', \'my_theme_enqueue_styles\' );
    
    在回答您的问题时,请最后将子CSS排队,确保在子CSS规则与父CSS规则冲突的地方,浏览器将使用CSS规则。

  • SO网友:DHL17

    请尝试以下示例:

    Name of the stylesheet. Should be unique
    
    function example_enqueue_styles() {
    
            // enqueue parent styles
            wp_enqueue_style(\'style-1\', get_template_directory_uri() .\'/style.css\');
    
            // enqueue child styles
            wp_enqueue_style(\'style-2\', get_stylesheet_directory_uri() .\'/style.css\', array(\'parent-theme\'));
    
        }
        add_action(\'wp_enqueue_scripts\', \'example_enqueue_styles\');
    
    在您的代码中wp_enqueue_style( \'parent-style<-"this must be unique"\', get_template_directory_uri().\'/assets/css/dynamic.css\' );

    结束

    相关推荐

    子主题中的css无法正常工作

    我正在尝试让儿童主题发挥作用。起初它没有加载,因为它没有将其识别为子主题。现在它确实可以工作了,但当我激活它时,它会加载我页面的一个版本,似乎没有任何css或其他东西。那里只有文本和图像,但没有样式。是因为它没有完全使用父主题还是什么?我只是从Wordpress开始,如果我不是很清楚或使用了正确的术语,我很抱歉。提前谢谢。这是我的职能。php文件:<?php function my_theme_enqueue_styles() { $parent_style = ‘twen