問題描述
-
我一直在閲讀這個問題,但是我讀的越多 – 我越感到困惑。
-
有人可以簡單的向我解釋一下
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 輔助翻譯的英文資料結果。如果您對結果不滿意,可以加入我們改善翻譯效果:薇曉朵技術論壇。