如何一次注销所有样式?和Java脚本一样吗?

时间:2011-05-13 作者:trusktr

如何获取所有排队的样式或脚本,然后立即取消它们的注册?

4 个回复
最合适的回答,由SO网友:Hameedullah Khan 整理而成

我希望你知道你在做什么。您可以使用wp_print_styleswp_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);

SO网友:Graphics Designer

您还可以通过查找被调用的处理程序,搜索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解决方案更好,但是,如果由于某些脚本未加载而遇到问题,请尝试一下上述方法。

SO网友:Lenin Zapata

您好,您还可以删除所有这些脚本,wordpress将正常工作。由于Wordpress允许您删除所有脚本,因此无法删除他需要的脚本。音频脚本和其他脚本是额外的脚本,因此这不会在wordpress中造成问题。

/**
 * Dequeue the Parent Theme scripts or plugin.
 *
 * Hooked to the wp_print_scripts action, with a late priority (100),
 * so that it is after the script was enqueued.
 */
function my_site_WI_dequeue_script() {
 wp_dequeue_script( \'comment-reply\' ); //If you\'re using disqus, etc.
 wp_dequeue_script( \'jquery_ui\' ); //jQuery UI, no thanks!
 wp_dequeue_script( \'fancybox\' ); //Nah, I use FooBox
 wp_dequeue_script( \'wait_for_images\' );
 wp_dequeue_script( \'jquery_easing\' );
 wp_dequeue_script( \'swipe\' );
 wp_dequeue_script( \'waypoints\' );
}

add_action( \'wp_print_scripts\', \'my_site_WI_dequeue_script\', 99 );

SO网友:Alex Standiford

Hameedullah的方法很有用,但是如果你只想在网站的前端(例如:不是你的WordPress仪表板)使用它,你需要添加一个条件来强制它提前退出。

我在使用中提到的支票this question 随着is_admin() 这样做。

function pm_remove_all_scripts(){
  if(in_array($GLOBALS[\'pagenow\'], [\'wp-login.php\', \'wp-register.php\']) || is_admin()) return; //Bail early if we\'re
  global $wp_scripts;
  $wp_scripts->queue = array();
}

add_action(\'wp_print_scripts\', \'pm_remove_all_scripts\', 100);

function pm_remove_all_styles(){
  if(in_array($GLOBALS[\'pagenow\'], [\'wp-login.php\', \'wp-register.php\']) || is_admin()) return; //Bail early if we\'re

  global $wp_styles;
  $wp_styles->queue = array();
}

add_action(\'wp_print_styles\', \'pm_remove_all_styles\', 100);

结束

相关推荐