在函数wp_enqueue_script的WordPress文档页面中,清楚地写了:
注意:如果从wp_head操作调用此函数,则此函数将无效,因为在wp_head运行之前输出标记。相反,从init动作函数调用wp_enqueue_script(在所有页面中加载它),template_redirect(仅在公共页面中加载它)或admin_print_scripts(仅用于管理页面)。 请勿使用wp_print_scripts(请参阅此处获取解释)。
不要使用wp_print_scripts操作是我想要突出显示的内容,而是对“如何在WordPress中包含Javscript”进行简单的谷歌搜索。您会发现大多数示例都使用 wp_print_scripts 操作来调用 wp_enqueue_script 。似乎每个人都对它好。
我在这里错过或误解了什么?
修改
该手抄本已被修改。它现在说:
如果从wp_head或wp_print_scripts操作调用此函数,则此函数将无效,因为在运行这些操作之前需要将文件排入队列。有关要使用的正确挂钩,请参阅“用法”部分。
答案 0 :(得分:2)
我的建议是坚持使用wp_enqueue_script作为最佳实践,但如果您正在为移动设备开发主题,或者您非常担心速度而不是请求浏览器膨胀,我真的建议加载所有内容动态地使用单个js文件(您可以使用wp_enqueue_script调用)。甚至考虑内联所有内容而不是加载jQuery但是zepto.js左右。
许多开发人员做了这种加载打印所有内容的可怕做法,不仅味道不好,而且对于经验丰富的主题开发人员来说,我可能会说:S很糟糕
例如,专题和其他几个空白主题依赖于这种做法,这会削弱子主题的开发速度。
如果你不确定wp_enqueue_script,只需给wordpress codex一个读取。这是完整的记录。
此致