Why enqueue styles on hook?

时间:2013-05-06 作者:byronyasgur

为什么我们需要在钩子上排列样式,为什么不直接这样排列它们呢?

wp_enqueue_style( $handle, $src);
thecodex page 给出了一个使用钩子的示例,但没有解释为什么(或如果)它很重要。

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

在您排队之前,需要运行一些代码,需要设置一些东西。如果您过早排队,这些先决条件将无法满足,您将看到。。。

注意:wp\\u enqueue\\u style的调用不正确。在wp\\u enqueue\\u脚本、admin\\u enqueue\\u脚本或init挂钩之前,不应注册或排队脚本和样式。有关详细信息,请参阅WordPress中的调试。

。。。如果你有debugging enabled.

注册/排队系统很复杂--look at the files named class.wp-scripts.php, class.wp-styles.php, and class.wp-dependencies.php. 不仅仅是echo 页面标题的内容。代码尝试处理依赖项加载,并防止多次加载同一文件。为此,必须在加载过程中的正确时间注册和排队,从而加载到挂钩上。

这并不是说立即将文件排入队列将不起作用。可能吧。这取决于你在哪里排队。根据消息,您需要在wp_enqueue_scripts, admin_enqueue_scripts, 或init. 即便如此,我相信如果你在之后排队,有些事情是行不通的wp_enqueue_scripts. 例如,如果在页面加载的后期尝试将文件排队,则无法在标头中加载文件。所以要小心,尽量避免无钩排队。

结束

相关推荐

hooks & filters and variables

我是updating the codex page example for action hooks, 在游戏中完成一些可重用的功能(最初是针对这里的一些Q@WA)。但后来我遇到了一个以前没有意识到的问题:在挂接到一个函数以修改变量的输出后,我再也无法决定是要回显输出还是只返回它。The Problem: 我可以修改传递给do_action 用回调函数钩住。使用变量修改/添加的所有内容仅在回调函数中可用,但在do_action 在原始函数内部调用。很高兴:我将其修改为一个工作示例,因此您可以将其复制/粘贴