问题描述

我现在使用 WordPress 3.1.4 。我感到困惑我使用哪个 (哪个钩子)

  • 注册和/或排队
  • 脚本和样式
  • 在前面和 back-ends?

问题:

  • 哪些是正确的钩子使用?
  • init 中的所有前端注册/入队脚本/样式?
  • 为什么没有 admin_print_styles-{xxx}

最佳解决方案

为什么正确注册和排队事宜

  • 它应该是在时间 – 早于脚本/风格输出到页面,否则太晚了;
  • 它应该是有条件的 – 否则你正在加载你不需要它的东西,并导致性能和功能问题,因此你需要 WP 环境加载到后期阶段。

过程的三个阶段

  1. 注册 – 这解释了关于脚本/样式的 WP 细节,并使其存储该信息;
  2. (通常集中在一个 wp_enqueue_*()调用中注册) – 这告诉 WP 根据其设置 (依赖关系,页眉/页脚加载) 将脚本/样式添加到队列中。
  3. 打印 – 当 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()
  •  wp_footer()

    •  wp_footer

      • (10)wp_print_footer_scripts()

它更深入,但这对于重点来说很简单和足够好:

  •  wp_enqueue_scripts 是前端注册和排队脚本和样式的最合适的钩子,它是专门为此而设计的;
  •  init 与此无关,它将会起作用,但是 – 过去法典建议仅使用它是不正确的;
  • wp_print_footer_scripts()调用之前,您可以随时随地排列脚注 (而不是样式);
  •  wp_print_*钩子不适用于寄存器/队列,它们是输出已经发生时的代码点。它们适用于手动/自定义脚本/样式输出。

管理员呢?

那么呢,这个功能呢更复杂,精巧和嵌套。

  • 对于初学者只需使用 admin_enqueue_scripts 钩子 (它通过 $hook_suffix 全局条件的东西) 为所有,它将做很好的大多数情况下;
  • 当你需要一些复杂的东西时,可以通过 admin-header.php 进行查找,从中挖出适当的钩子。

登录怎么办?

有一个名为 login_enqueue_scripts 的特定钩子。

参考文献

注:本文内容整合自 Google/Baidu/Bing 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛。