问题描述
-
我一直在阅读这个问题,但是我读的越多 – 我越感到困惑。
-
有人可以简单的向我解释一下
wp_enqueue_scripts
,wp_register_scripts
和wp_print_scripts
有什么区别? -
例如,我的 functions.php 中有以下代码 – 它的工作原理,但我不明白为什么我不能使用
wp_print_scripts
的样式表,而代码仍然可以使用wp_enqueue_scripts
的 javascript 文件:add_action('wp_print_scripts', 'add_my_js'); function add_my_js(){ if(!is_admin()){ wp_enqueue_script('default', get_bloginfo('stylesheet_directory').'/js/default.js', array('jquery')); } } add_action('wp_enqueue_scripts', 'add_my_stylesheet'); function add_my_stylesheet() { wp_register_style('default', get_bloginfo( 'stylesheet_url')); wp_enqueue_style( 'default'); }
最佳解决方案
wp_print_scripts
是脚本输出到模板时运行的操作。 wp_register_script
和 wp_enqueue_script
是在 wp_print_scripts
运行时注册/排队脚本输出的功能。
您不能在 wp_print_scripts
动作钩子中注册或排入样式,因为样式已经在 wp_print_scripts
之前运行的 wp_print_styles
钩子中输出。
请参阅 action reference 以查看请求中执行的顺序:
22. wp_head
23. wp_enqueue_scripts
24. wp_print_styles
25. wp_print_scripts
参考文献
注:本文内容整合自 Google/Baidu/Bing 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛。