我无意中发现我的子主题CSS被调用了两次。我发现这是一个老问题(参见here 和here), 但在我的情况下,我不知道如何解决它。
<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?
最合适的回答,由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()
因为更多的人应该了解新的主题文件功能)。