哪里是注册/入队脚本和样式的合适位置

时间:2011-06-30 作者:JM at Work

我现在正在使用WordPress 3.1.4。我不知道该在哪里(哪个钩子)使用:

在前端和后端注册和/或排队脚本和样式

哪些是正确的挂钩init?admin_print_styles-{xxx}?

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

为什么正确注册和排队很重要in time - “早于脚本/样式”可以输出到页面,否则就太晚了;

应该是conditional - 否则,您将在不需要的地方加载内容,并导致性能和功能问题,为此,您需要在后期加载WP环境。

过程的三个阶段register - 这解释了WP关于脚本/样式的详细信息,并使其存储该信息;

  • enqueue - (通常与寄存器集中在一个wp_enqueue_*() 调用)-这告诉WP根据队列的设置(依赖项、页眉/页脚加载)向队列添加脚本/样式。

  • print - 当WP处理队列时,会发生这种情况,试图加载自己特定的内容or 当您明确使用wp_print_*() 作用

    函数和挂钩的前端结构

    wp_head()

    • wp_head

      • (1)wp_enqueue_scripts()

        wp_enqueue_scripts « this is what you need

        (8)wp_print_styles()

        (9)wp_print_head_scripts()

          • wp_footer()

            • wp_footer

              • (10)wp_print_footer_scripts()
          这一点要深入得多,但这一点很简单,足以说明要点:

          • wp_enqueue_scripts is most appropriate hook for registering and queuing scripts and styles on front end 它就是专门为此而存在的;

          • init 与此无关,它会起作用,但-past Codex recommendation to use only it was incorrect;

            您可以在之前的任何时候将页脚脚本(而不是样式)排队wp_print_footer_scripts() 呼叫

          • wp_print_* hooks are NOT appropriate for register/queue, 当输出已经发生时,它们是代码中的点。它们适用于手动/自定义脚本/样式输出。

            管理怎么样

  • 嗯,那里的功能更加复杂、精致和嵌套。

    初学者just use admin_enqueue_scripts hook (它通过了$hook_suffix global for conditional stuff) 不管怎样,它在大多数情况下都会很好地发挥作用;

    当你需要复杂的东西时,仔细看看admin-header.php 然后从那里挖合适的钩子。

    登录怎么样有一个特定的钩子,名为login_enqueue_scripts.

    结束

    相关推荐

    hooks & filters and variables

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