为什么必须在WordPress子主题中对父主题样式表进行排队?我已经在子主题中创建了style.css
,当我向它添加更改时,它可以工作,而不需要对父样式表排队的functions.php
文件,例如更改元素的背景色。我一直在寻找和回答,但找不到任何能说明原因的东西。一切都说你必须这么做。
发布于 2016-01-14 19:35:05
当涉及到在WordPress主题中加载样式时,有许多方法可以剥去猫的皮。
父服务器在某些主题中对子style.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
。
以上是您的父主题的可能情况。
子元素从子主题中排队父style.css -,您可以通过以下两种方法之一加载父样式。
enqueue_style()
。一些类似于:wp_enqueue_style( 'parent-style', get_template_directory_uri() . '/style.css' );
的php。这就是你说的方法。@import
来自子主题style.css
文件。这方面的典型代码行为:@import url( '../parent-theme-folder/style.css' );
。这并不理想,因为@import
减慢了页面加载时间。更好的方法--不要使用根style.css,完全没有必要在根文件夹中使用style.css
。WordPress唯一严格需要这个文件的是读取顶部评论中的主题信息。这一要求意味着style.css
无法最小化,或者至少是一个痛苦的最小化。最小化是将代码文件中的所有空格移除以减小文件大小的过程。这降低了页面加载速度。
因此,现在很多现代主题都在主题子文件夹中从不同的最小化css
文件中排队它们的主样式。主style.css
只是由核心php代码读取的信息注释部分组成,但没有加载在前端。
https://stackoverflow.com/questions/34802661
复制