我有一点每小时改变css,我想
将其保存在第二个文件中(除了style.css),然后
在我的主题之后加载style.css
文件
我相信我可以在style.css
通过将其优先级设置为style.css
减1(例如,如果main style.css的优先级为10,则我的代码位的优先级为9)。
但我的问题是:除了反复尝试之外,我不知道如何通过编程确定样式表的优先级。我知道可以简单地使用减半的方法来磨练价值,但我宁愿不这样做。学习一种有原则的方法来解决这个问题会很好。也许主主题CSS文件有默认优先级?如果是这种情况,我可以很容易地尝试($defaultPriorityValue-1)。这有可能吗?如果没有,什么是好方法?
p、 我不想在我的functions.php
因为我需要将此代码保存在单独的文件中
虽然我找到了下面答案中列出的功能性解决方案,但如果有人能解释一下是否有一种方法可以通过编程方式标识工作表的优先级,我仍然希望如此。谢谢
最合适的回答,由SO网友:cjbj 整理而成
当您正确地将文件排入队列时wp_styles
(more on this) 类已创建。忽略操作的优先级。所以,如果你写的是
add_action (\'wp_enqueue_scripts\',\'function_adding_main_style\',10);
add_action (\'wp_enqueue_scripts\',\'function_adding_small_style\',11);
原因正是依赖系统的存在。WP首先收集所有排队样式文件,然后检查它们的依赖关系。如果
A.css
之前已排队
B.css
但前者取决于后者,它们将相应加载。您可以在
all_deps
的方法
parent class.
长话短说:你不应该弄乱WP给你的依赖系统之外的样式文件的优先级。您自己的解决方案是最好的。
也就是说,您始终可以绕过排队系统,直接在wp_head
钩不合法,但有效。
SO网友:CoderScissorhands
依赖性解决方案
我发现并成功测试的一个功能解决方案来自于@helgatheviking对
this question. 此解决方案涉及在排队时对小CSS文件(这是第三个参数)设置依赖关系。将小CSS文件的依赖项设置为主CSS文件的句柄/id。
wp_enqueue_style(
\'my-little-css-style\',
get_stylesheet_directory_uri() . \'/my_little_style.css\',
\'themename-style\' // this is the dependency, which I set to the handle of the main css stylesheet. It makes the small sheet load before the main one.
);