为什么不能使用@IMPORT将父主题导入到子主题?

时间:2014-10-22 作者:eculeus

我对Wordpress有一些经验,但我已经离开了一段时间了。我见过很多在子主题的开头使用@import来导入父主题的例子。

我读了很惊讶here 正确的方法是在函数内部使用wp\\u enqueue\\u样式。php而不是@import来加载父主题。

我读了这页底部的解释,但没有真正理解。是否存在使用@import会导致性能下降的问题?使用适当的方法(如果有的话)浏览并更新我的主题,有什么切实的好处?

1 个回复
最合适的回答,由SO网友:maiorano84 整理而成

@import 是加载特定样式表(通常是父主题或其他依赖项)的一种方便的CSS快捷方式,但通常不建议使用它的部分原因是,正如您所提到的,性能受到了较小的影响(样式表加载了@import 未并行加载)。

另一个原因是通过加载带有Wordpress\'wp_enqueue_style 函数,您正在服务器级别定义样式依赖关系,因此可以定义加载特定样式表的条件是否合适。

下面是一个特殊的用例场景,它突出了我所说的内容:

您开发了一个主题,使用了几个样式表,每个样式表都有自己的颜色方案:

红色。css蓝色。css绿色。css默认值。css

每种颜色都与主题的默认样式相关联。css,主题本身扩展了父主题自己的样式。css。为了选择颜色方案,您添加了一个主题选项下拉列表,允许您从各种选项中进行选择。

通过使用wp_enqueue_style, 您不仅可以根据颜色选项的存在和值仅将相关颜色方案排队,还可以定义加载所有不同样式表的顺序,而无需依赖浏览器自己对@import 顺序

这里有一些further reading 关于这个问题。

结束

相关推荐

GUID not updated on import

我已经从dev服务器导出了数据,并将其导入到prod服务器一个模板列出了子页面和使用$page->guid 获取指向页面的链接。问题是这个链接仍然指向我的内部dev服务器。还有其他人有类似的问题吗?如果是,我如何解决它而不必直接编辑数据库?