Answers:
应该及时 -早于脚本/样式输出到页面,否则为时已晚;
它应该是有条件的 -否则,您将在不需要的地方加载东西,并导致性能和功能问题,为此,您需要将WP环境加载到后期。
注册 -解释WP有关脚本/样式的详细信息,并使其存储该信息;
入队 -(通常与一个wp_enqueue_*()
呼叫中的寄存器一起集中)-告诉WP根据其设置(依赖项,页眉/页脚加载)向该队列添加脚本/样式。
打印 -当WP处理队列,尝试加载特定于其自身的内容或使用wp_print_*()
函数显式地进行加载时,会发生这种情况。
wp_head()
wp_head
(1) wp_enqueue_scripts()
wp_enqueue_scripts
«这就是您需要的
(8) wp_print_styles()
(9) wp_print_head_scripts()
wp_footer()
wp_footer
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
。
*print*
除非您真的知道为什么需要钩子,否则请远离钩子。总体而言,它们用于打印,而不是用于队列。admin_enqueue_scripts
挂钩传递的$hook_suffix
变量与那些动态挂钩中使用的变量相同。
$hook_suffix
在我的编辑投资组合页面中看起来像post.php,为什么?我还以为是edit.php,然后如何确定我是否正在编辑/发布投资组合而不是正常发布?
add_*_page()
函数)更容易,但是在本机WP屏幕中,它可能是不同的东西。
admin_print_scripts-{xxx}
。我发现那个admin_print_scripts
被调用了,但是没有被调用-{xxx}
。-edit.php
例如。正确的是如何在排队的那个答案admin_print_scripts-xxx
和你会怎么推荐,而不是-假设我想在一个自定义后类型添加/编辑页面的脚本/样式(metabox)