确定yle le.css的优先级,这样我就可以最后加载一个小的css文件

时间:2016-12-31 作者:CoderScissorhands

我有一点每小时改变css,我想

将其保存在第二个文件中(除了style.css),然后

在我的主题之后加载style.css 文件

我相信我可以在style.css 通过将其优先级设置为style.css 减1(例如,如果main style.css的优先级为10,则我的代码位的优先级为9)。

但我的问题是:除了反复尝试之外,我不知道如何通过编程确定样式表的优先级。我知道可以简单地使用减半的方法来磨练价值,但我宁愿不这样做。学习一种有原则的方法来解决这个问题会很好。也许主主题CSS文件有默认优先级?如果是这种情况,我可以很容易地尝试($defaultPriorityValue-1)。这有可能吗?如果没有,什么是好方法?

p、 我不想在我的functions.php 因为我需要将此代码保存在单独的文件中

虽然我找到了下面答案中列出的功能性解决方案,但如果有人能解释一下是否有一种方法可以通过编程方式标识工作表的优先级,我仍然希望如此。谢谢

2 个回复
最合适的回答,由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. 
    );

相关推荐

如何在WooCommerce_Account_Orders函数中传递$CURRENT_PAGE?

woocommerce功能woocommerce_account_orders($current_page) 已调用1个参数$current_page. 该函数通过调用woocommerce_account_orders_endpoint 通过以下挂钩-add_action( \'woocommerce_account_orders_endpoint\', \'woocommerce_account_orders\' );然而,在上述挂钩中,$current_page 未在函数中作为参数传递。情况如何$c