WordPress禁止加载自带的jQuery.js的方法

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

发表评论

Crypto logo

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus cursus rutrum est nec suscipit. Ut et ultrices nisi. Vivamus id nisl ligula. Nulla sed iaculis ipsum.

Contact

Company Name

Address