我的子主题CSS被调用两次

时间:2017-09-13 作者:Iurie

我无意中发现我的子主题CSS被调用了两次。我发现这是一个老问题(参见herehere), 但在我的情况下,我不知道如何解决它。

<link rel=\'stylesheet\' id=\'parent-style-css\'  href=\'http://infopsi.md/wp-content/themes/twentyseventeen/style.css?ver=4.8.1\' type=\'text/css\' media=\'all\' />
<link rel=\'stylesheet\' id=\'child-style-css\'  href=\'http://infopsi.md/wp-content/themes/twentyseventeen-child/style.css?ver=0.1\' type=\'text/css\' media=\'all\' />
<link rel=\'stylesheet\' id=\'twentyseventeen-style-css\'  href=\'http://infopsi.md/wp-content/themes/twentyseventeen-child/style.css?ver=4.8.1\' type=\'text/css\' media=\'all\' />
这是我用来将父主题和子主题样式表排队的函数:

/** Enqueue the parent and child theme stylesheets **/
if ( !function_exists( \'my_theme_enqueue_styles\' ) ):
    function my_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_get_theme()->get(\'Version\')
        );
    }
endif;
add_action( \'wp_enqueue_scripts\', \'my_theme_enqueue_styles\' );
我试图添加wp_dequeue_style( \'twentyseventeen-style\' ); 但这并没有解决问题。Any suggestions?

1 个回复
最合适的回答,由SO网友:Jacob Peattie 整理而成

您不需要将子主题的样式表排队。父主题会为您执行此操作。2017年有一行:

wp_enqueue_style( \'twentyseventeen-style\', get_stylesheet_uri() );
那还将继续,但是twentyseventeen-style 现在是您的子主题的样式表。您只需将父主题的样式表排队:

/** Enqueue the parent and child theme stylesheets **/
if ( !function_exists( \'my_theme_enqueue_styles\' ) ):
    function my_theme_enqueue_styles() {
        $parent_style = \'parent-style\';
        wp_enqueue_style( $parent_style, get_parent_theme_file_uri( \'style.css\' ) );
    }
endif;
add_action( \'wp_enqueue_scripts\', \'my_theme_enqueue_styles\' );
(我将您对模板目录功能的使用替换为get_parent_theme_file_uri() 因为更多的人应该了解新的主题文件功能)。

结束

相关推荐