问题描述
如何获取所有排队的样式或脚本,然后一次取消注册?
最佳解决方案
我希望你知道你在做什么您可以使用 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 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛。