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