使用wp_deregister_script后,让wordpress核心jquery再次工作

时间:2018-03-21 03:47:20

标签: jquery wordpress

我尝试使用代码来停止将多个jquery脚本加载到产品类别页面上。这打破了很多插件。

add_filter('wp_enqueue_scripts', 'change_default_jquery', PHP_INT_MAX);

if (is_product_category() || is_shop()) {
  // product category page or shop
  function change_default_jquery() {
    if (!is_admin() {
        wp_deregister_script('jquery');
        wp_register_script('jquery', false);   
    }
  }
}

我试图回过头来反过来并使用以下代码,

function getbacke_scripts() {
  wp_enqueue_script('jquery');
}

add_action('wp_enqueue_scripts', 'getbacke_scripts');

这不起作用。如何让Wordpress重新使用它的核心Jquery站点并修复我的插件问题。我找到的每个解决方案都说使用wp_enqueue_script('jquery');,但这对我没用。请帮忙。

2 个答案:

答案 0 :(得分:0)

如果删除过滤器及其各自的功能wp_deregister_script就足够了。因为wordpress会自动将jquery脚本排入队列。

如果仍有问题,请确保浏览器控制台中没有任何错误。

答案 1 :(得分:0)

好的,我使用下面的代码返回核心jquery。但是,有些插件没有运行,但是获得jquery是第一个目标,所以任务完成。以防有人需要在主题functions.php文件中运行一次代码并刷新页面检查脚本是否正在加载。如果他们正在加载,请从functions.php文件中删除此代码,否则它将继续多次加载这些脚本。不是最有效的解决方案,但它适用于WP 4.9.4。

add_action('wp_print_scripts','add_all_scripts', 100);
function add_all_scripts(){
wp_register_script( 'jquery-ui-core', array( 'jquery' ));
wp_register_script( 'jquery-ui-widget', array( 'jquery' ));
wp_register_script( 'jquery-ui-mouse', array( 'jquery' ) );
wp_register_script( 'jquery-ui-accordion', array( 'jquery' ) );
wp_register_script( 'jquery-ui-autocomplete', array( 'jquery' ) );
wp_register_script( 'jquery-ui-slider', array( 'jquery' ) );
wp_register_script( 'jquery-ui-progressbar', array( 'jquery' ));
wp_register_script( 'jquery-ui-tabs', array( 'jquery' ));
wp_register_script( 'jquery-ui-sortable', array( 'jquery' ));
wp_register_script( 'jquery-ui-draggable', array( 'jquery' ));
wp_register_script( 'jquery-ui-droppable', array( 'jquery' ));
wp_register_script( 'jquery-ui-selectable', array( 'jquery' ));
wp_register_script( 'jquery-ui-position', array( 'jquery' ));
wp_register_script( 'jquery-ui-datepicker', array( 'jquery' ));
wp_register_script( 'jquery-ui-tooltip', array( 'jquery' ));
wp_register_script( 'jquery-ui-resizable', array( 'jquery' ));
wp_register_script( 'jquery-ui-dialog', array( 'jquery' ));
wp_register_script( 'jquery-ui-button', array( 'jquery' ));

//wp_enqueue_script( 'jquery' );  
wp_enqueue_script( 'jquery-ui-core' );
wp_enqueue_script( 'jquery-ui-widget' );
wp_enqueue_script( 'jquery-ui-mouse' );
wp_enqueue_script( 'jquery-ui-accordion' );
wp_enqueue_script( 'jquery-ui-autocomplete' );
wp_enqueue_script( 'jquery-ui-slider' );
wp_enqueue_script( 'jquery-ui-progressbar' );
wp_enqueue_script( 'jquery-ui-tabs' );
wp_enqueue_script( 'jquery-ui-sortable' );
wp_enqueue_script( 'jquery-ui-draggable' );
wp_enqueue_script( 'jquery-ui-droppable' );
wp_enqueue_script( 'jquery-ui-selectable' );
wp_enqueue_script( 'jquery-ui-position' );
wp_enqueue_script( 'jquery-ui-datepicker' );
wp_enqueue_script( 'jquery-ui-tooltip' );
wp_enqueue_script( 'jquery-ui-resizable' );
wp_enqueue_script( 'jquery-ui-dialog' );
wp_enqueue_script( 'jquery-ui-button' );
}