问题描述

我根据 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 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛。