对于WordPress来说,最重要的JS莫过于jQuery.js了,不少功能都需要它的支持。如果我们引用了CDN公共库中的jQuery.js,或者主题自带了jQuery.min.js,就需要禁掉WordPress自带jQuery.js的加载了(不禁掉的话甚至还可能会出现新添加的js代码无法正常运行的情况)。

方法一 修改script-loader.php

最常见的方法,是修改/wp-includes/script-loader.php文件。将script-loader.php第127行(WordPress3.5.1中)

$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的升级而被覆盖,但会因为主题的升级或更换而失效。大家可以根据自己的情况选择用哪种方法。

相关新闻

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注

联系我们

联系我们

151-1101-0018

在线咨询:< a href="https://wpa.qq.com/msgrd?uin=30115776" target="_blank" rel="noopener noreferrer">点击这里给我发消息</ a>

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信
关注微信
分享本页
返回顶部