問題描述
如何獲取所有排隊的樣式或指令碼,然後一次取消註冊?
最佳解決方案
我希望你知道你在做什麼您可以使用 wp_print_styles 和 wp_print_scripts 動作鉤子,然後在其各自的鉤子中獲取全域性 $ wp_styles 和 $ wp_scripts 物件變數。
“registered” 屬性列出了註冊的指令碼,”queue” 屬性列出了上述兩個物件的佇列指令碼。
清空指令碼和樣式佇列的示例程式碼。
function pm_remove_all_scripts() {
global $wp_scripts;
$wp_scripts->queue = array();
}
add_action('wp_print_scripts', 'pm_remove_all_scripts', 100);
function pm_remove_all_styles() {
global $wp_styles;
$wp_styles->queue = array();
}
add_action('wp_print_styles', 'pm_remove_all_styles', 100);
次佳解決方案
您也可以透過查詢正在呼叫的處理程序來進行操作,搜尋 wp_enqueue_style 或 wp_enqueue_script,您可以在 functions.php 上取消註冊
add_action( 'wp_print_styles', 'my_deregister_styles', 100 );
function my_deregister_styles() {
wp_deregister_style( 'some-css' );
}
add_action( 'wp_print_scripts', 'my_deregister_javascript', 100 );
function my_deregister_javascript() {
wp_deregister_script( 'tutorials-js' );
wp_deregister_script( 'gsc_dialog' );
wp_deregister_script( 'gsc_jquery' );
}
Hameedullah 解決方案更好,但是如果您遇到問題,因為一些指令碼沒有載入給上面的一個鏡頭。
參考文獻
注:本文內容整合自 Google/Baidu/Bing 輔助翻譯的英文資料結果。如果您對結果不滿意,可以加入我們改善翻譯效果:薇曉朵技術論壇。