为什么必须在WordPress子主题中排队父主题样式表?我在子主题中创建了style.css
,当我向其添加更改时,它可以在没有将父样式表排队的functions.php
文件的情况下工作,例如更改元素的背景颜色。我已经搜索并回答了,但找不到任何告诉我原因的东西。一切都只是说你必须这样做。
在加载WordPress主题中的样式时,有很多方法可以剥猫皮。
父项将子样式排队.css -在某些主题中,父style.css
与父主题php
代码中的wp_enqueue_style()
一起排队。
2015 默认主题是此方法的一个示例。functions.php
行 233 中有行wp_enqueue_style( 'twentyfifteen-style', get_stylesheet_uri() );
。当主题是独立的时get_stylesheet_uri()
返回主题自己的style.css
。当存在子主题时get_stylesheet_uri()
返回子主题style.css
。
以上是您的父主题的可能情况。
子项将父样式排队.css -从子主题中,您可以通过以下两种方法之一加载父样式。
-
enqueue_style()
,参数指向父主题。一些类似于:wp_enqueue_style( 'parent-style', get_template_directory_uri() . '/style.css' );
的 php。这就是你所说的方法。 - 从子主题
style.css
文件中@import
。典型的代码行如下:@import url( '../parent-theme-folder/style.css' );
.这并不理想,因为@import
会减慢页面加载时间。
更好的方法 - 不要使用根样式.css根本不需要在根文件夹中使用 style.css
。WordPress唯一需要这个文件的事情就是阅读顶部评论中的主题信息。这个要求意味着style.css
不能最小化,或者至少是最小化的痛苦。最小化是删除代码文件中的所有空格以减小文件大小的过程。这会降低页面加载速度。
因此,现在许多现代主题正在从主题子文件夹中的不同最小化css
文件中排队其主要样式。主style.css
仅由核心 php 代码读取但未加载到前端的信息注释部分组成。