Loading
0

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的升級而被覆蓋,但會因為主題的升級或更換而失效。大家可以根據自己的情況選擇用哪種方法。