问题描述

如何获取所有排队的样式或脚本,然后一次取消注册?

最佳解决方案

我希望你知道你在做什么您可以使用 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_stylewp_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 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛。