我注意到,当我以如下方式加载子主题的CSS时:https://digwp.com/2016/01/include-styles-child-theme/, 我在chrome检查器中为我的CSS规则获取了两个条目,并且必须禁用显示的第二个集合才能更改为第一个集合(例如,通过选中/取消选中规则)。
这是使用以下代码:
function example_enqueue_styles() {
// enqueue parent styles
wp_enqueue_style(\'parent-theme\', get_template_directory_uri() .\'/style.css\');
// enqueue child styles
wp_enqueue_style(\'child-theme\', get_stylesheet_directory_uri() .\'/style.css\', array(\'parent-theme\'));
}
add_action(\'wp_enqueue_scripts\', \'example_enqueue_styles\');
然而,我在这个论坛上发现了一个不同的版本,它似乎只加载一次CSS,正如我所希望的那样:
function use_parent_theme_stylesheet() {
// Use the parent theme\'s stylesheet
return get_template_directory_uri() . \'/style.css\';
}
function my_theme_styles() {
$themeVersion = wp_get_theme()->get(\'Version\');
// Enqueue our style.css with our own version
wp_enqueue_style(\'child-theme-style\', get_stylesheet_directory_uri() . \'/style.css\',
array(), $themeVersion);
}
// Filter get_stylesheet_uri() to return the parent theme\'s stylesheet
add_filter(\'stylesheet_uri\', \'use_parent_theme_stylesheet\');
// Enqueue this theme\'s scripts and styles (after parent theme)
add_action(\'wp_enqueue_scripts\', \'my_theme_styles\', 20);
Could someone please explain why the second version works properly and first one repeats the rules?
我还注意到,抄本中的版本似乎也与第一个版本一样。此处链接:
https://codex.wordpress.org/Child_Themes#How_to_Create_a_Child_Theme我很困惑-两次加载自定义规则的版本是否有问题?看起来确实如此,但后来它被列为“官方版本”(也就是说,它在法典中)。