如何在<head>的末尾强制加载wp_enQueue_脚本?

时间:2012-07-04 作者:Nate

我正在通过加载脚本wp_enqueue_scripts 在我的孩子主题中。

唯一的问题是style.css 脚本在插件脚本之前加载,但我需要用我的风格覆盖插件中的CSS。css。因此需要在插件脚本之后加载。

我不想把所有的CSS样式都加上“!important”,因为这很乏味,可能会破坏我的一些样式。

我尝试添加优先级,但它根本不会影响加载顺序。

    add_action(\'wp_enqueue_scripts\', \'scripts\', 9999);
我只是想wp_enqueue_scripts 在标题的最末端,就在前面</head>. 如何做到这一点?谢谢:-)

UPDATE:

耶,我知道了!

只需将过滤器注册到:

    add_action(\'wp_print_styles\', \'scripts\');
wp_print_styles 加载时优先级为8,但仍将其放置在标题中,因为它是wp_head.

我通过查看wp includes/default过滤器发现了这一点。php,谢谢你的提示!:-)

2 个回复
SO网友:fuxia

wp_enqueue_scripts 按默认值添加,优先级为1wp_head. 看见wp-includes/default-filters.php 有关详细信息。

您可以尝试更改优先级:

remove_action( \'wp_head\', \'wp_enqueue_scripts\', 1 );
add_action( \'wp_head\', \'wp_enqueue_scripts\', 9999 );
但我不推荐。默认值可能有一个很好的理由。更改此选项时,某些脚本可能不再工作。

SO网友:mrwweb

我认为更友好的方法是使用wp_enqueue_styles()\'s $deps参数。假设插件样式是通过wp\\u enqueue\\u styles()排队的(无可否认,数量少得可怜),您可以列出样式所依赖的样式表句柄数组,然后再加载它们。

结束

相关推荐

当我尝试登录时,我正在创建的插件出现‘Headers Always Sent’错误

我正在尝试创建我的第一个插件。到目前为止,它实际上工作正常,但有一个错误:当我尝试登录到wp admin时,会收到一条“Headers ready Sent”PHP消息。如果我从wpcontent/plugins目录中删除插件文件,像往常一样登录,然后替换插件文件,它工作得很好——这似乎只是在登录和注销时发生的。我的(缩写)代码是:<?php /* Plugin Name: Product Manager Plugin URI: http://www.tech-knowled