问题描述
我根据 WP 文档创建了一个小孩主题,并添加了必要的功能
<?php
add_action( 'wp_enqueue_scripts', 'enqueue_child_theme_styles', PHP_INT_MAX);
function enqueue_child_theme_styles() {
wp_enqueue_style( 'parent-style', get_template_directory_uri().'/style.css' );
wp_enqueue_style( 'child-style', get_stylesheet_uri(), array('parent-style') );
}
不知怎的,我最终得到了对我的孩子主题样式表的 2 个引用:
<link rel='stylesheet' id='twentythirteen-style-css' href='http://DOMAIN.COM/wp-content/themes/twentythirteen-child/style.css?ver=2013-07-18' type='text/css' media='all' />
<link rel='stylesheet' id='child-style-css' href='http://DOMAIN.COM/wp-content/themes/twentythirteen-child/style.css?ver=4.0' type='text/css' media='all' />
这是为什么?
最佳解决方案
这篇文章是从 this post 链接的,我现在已经更新了这篇文章的更改
谢谢你提出这个问题。我已经快速测试了场景,孩子风格实际上被加载了两次。
之前我更新了 codex,确保子样式将在父样式之后被加载,从来没有真正考虑到这实际上是在默认情况下完成的,而给出的代码实际上会加载子样式表两次。
通过简单地从功能中删除 $priority
并删除子主题的排队部分,可以轻松纠正这一点。我已经重新测试了一切,它的工作原理。如果有几个人可以合作,这将是很好的。
同时,我会更新该抄本并链接到这篇文章。
这是工作代码
add_action( 'wp_enqueue_scripts', 'enqueue_parent_theme_style');
function enqueue_parent_theme_style() {
wp_enqueue_style( 'parent-style', get_template_directory_uri().'/style.css' );
}
EDIT
对于任何人,这篇文章不工作,请参阅 this post 。您将需要了解父主题如何添加样式。这个问题中的代码严格认为父系中的样式是以正确的方式加载的。如果没有,请查看链接的答案中的替代方法,然后尝试这些
参考文献
注:本文内容整合自 Google/Baidu/Bing 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛。