禁用WordPress自带的jquery.min.js,解决加载慢的问题

2019-12-22浏览 273 评论 0

最近我发现Wordpress中自带的jquery.min.js加载会出错会显示jquery.min.js:4或者jquery.min.js:6的问题,而且还严重影响了加载速度。看下图:解决的方法是禁用wordpress自带的jquery.js(不禁掉的话甚至还可能会出现新添加的js代码无法正常运行的情况)。这样问题就解决了。禁用的方法有两种,我选择第二种。

禁用Wordpress自带的jquery.min.js,解决加载慢的问题

没禁用wordpress自带的JQUERY时加载时间图

方法一 修改script-loader.php

最常见的方法,是修改/wp-includes/script-loader.php文件。将script-loader.php找到
$scripts->add( 'jquery', '/wp-includes/js/jquery/jquery.js', array(), '1.8.3' );

修改为

if(is_admin()){
$scripts->add( 'jquery', '/wp-includes/js/jquery/jquery.js', array(), '1.8.3' );
}

即可。
之所以加上if(is_admin())语句而不是直接删除或者替代为自己的jQuery文件,是因为直接删除或者替代为自己的jQuery文件会导致后台无法使用自带的jQuery而出现错误。
这种方法的缺陷在于,WordPress升级之后修改的文件就会被覆盖,需要再次修改。

方法二 修改function.php

在主题文件夹下的function.php中,加入如下代码:

//禁止加载WP自带的jquery.js
if ( !is_admin() ) { // 后台不禁止
function my_init_method() {
wp_deregister_script( 'jquery' ); // 取消原有的 jquery 定义
}
add_action('init', 'my_init_method');
}
wp_deregister_script( 'l10n' );

wordpress如何屏蔽wp-json(禁用REST API)

//禁用 REST API、移除 wp-json
add_filter('rest_enabled', '_return_false');
add_filter('rest_jsonp_enabled', '_return_false');
remove_action( 'wp_head', 'rest_output_link_wp_head', 10 );
remove_action( 'wp_head', 'wp_oembed_add_discovery_links', 10 );

跟方法一不同的是,根据方法二修改的文件不会因为WordPress的升级而被覆盖,但会因为主题的升级或更换而失效。大家可以根据自己的情况选择用哪种方法。强烈建议使用第二种方法,这样也不存在升级程序带来的困惑。


发表于 6个月前 - 当日最后一次编辑于 19:41 星期日

评论审核已启用。您的评论可能需要一段时间后才能被显示。