问题描述
我现在使用 WordPress 3.1.4 。我感到困惑我使用哪个 (哪个钩子)
- 注册和/或排队
- 脚本和样式
- 在前面和 back-ends?
问题:
- 哪些是正确的钩子使用?
init
中的所有前端注册/入队脚本/样式?- 为什么没有
admin_print_styles-{xxx}
?
最佳解决方案
为什么正确注册和排队事宜
- 它应该是在时间 – 早于脚本/风格输出到页面,否则太晚了;
- 它应该是有条件的 – 否则你正在加载你不需要它的东西,并导致性能和功能问题,因此你需要 WP 环境加载到后期阶段。
过程的三个阶段
- 注册 – 这解释了关于脚本/样式的 WP 细节,并使其存储该信息;
- (通常集中在一个
wp_enqueue_*()
调用中注册) – 这告诉 WP 根据其设置 (依赖关系,页眉/页脚加载) 将脚本/样式添加到队列中。 - 打印 – 当 WP 处理队列时,会发生这种情况,尝试加载某些特定于其自身的内容,或者当您使用
wp_print_*()
功能显式地执行此操作时。
Front-end 功能和挂钩结构
-
wp_head()
-
wp_head
- (1)
wp_enqueue_scripts()
wp_enqueue_scripts
Ä,Â,Ť这是你需要的 - (8)
wp_print_styles()
- (9)
wp_print_head_scripts()
- (1)
-
-
wp_footer()
-
wp_footer
- (10)
wp_print_footer_scripts()
- (10)
-
它更深入,但这对于重点来说很简单和足够好:
-
wp_enqueue_scripts
是前端注册和排队脚本和样式的最合适的钩子,它是专门为此而设计的; -
init
与此无关,它将会起作用,但是 – 过去法典建议仅使用它是不正确的; - 在
wp_print_footer_scripts()
调用之前,您可以随时随地排列脚注 (而不是样式); -
wp_print_*
钩子不适用于寄存器/队列,它们是输出已经发生时的代码点。它们适用于手动/自定义脚本/样式输出。
管理员呢?
那么呢,这个功能呢更复杂,精巧和嵌套。
- 对于初学者只需使用
admin_enqueue_scripts
钩子 (它通过$hook_suffix
全局条件的东西) 为所有,它将做很好的大多数情况下; - 当你需要一些复杂的东西时,可以通过
admin-header.php
进行查找,从中挖出适当的钩子。
登录怎么办?
有一个名为 login_enqueue_scripts
的特定钩子。
参考文献
注:本文内容整合自 Google/Baidu/Bing 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛。