由于WordPress自带jQuery
版本非常早了(1.x版本),因此一些函数引用的jQuery
版本过低。而实际情况下我们会需要使用更高版本的jQuery
,但是直接添加新版本的jQuery
又会造成版本冲突。很多朋友可能去搜索jQuery
版本冲突的解决方法,但是实际上在使用WordPress的过程中有更好的方法。那么我们要如果正确的更新WordPress自带的jQuery
版本呢又不造成冲突呢?
我们的解决方法是通过修改主题functions.php(或WordPress子主题的functions.php中)来重新注册wordpress库中的jQuery
和jQuery-Migrate:
function update_jquery() {
if( !is_admin()){
wp_deregister_script('jquery'); //注销自带的jquery
wp_register_script('jquery', "https://cdn.bootcss.com/jquery/3.2.1/jquery.min.js", false, null);
wp_enqueue_script('jquery');
wp_deregister_script('jquery-migrate'); //注销自带的jquery-migrate
wp_register_script('jquery-migrate', "https://cdn.bootcss.com/jquery-migrate/3.0.0/jquery-migrate.min.js", false, null);
wp_enqueue_script('jquery-migrate');
}
}
add_action("wp_enqueue_scripts", "update_jquery", 11);
另外这边要说一下jQuery-Migrate这个东西,他是用于让低版本jQuery
兼容高版本。Wordpress自带版本貌似是jquer-migrate-1.x
。有些情况下,我们不想用这个东东。就用wp_dequeue_script('jquery-migrate');
去掉它。
这里有个提示:有些插件如 wpDiscuz使用jquery库的jQuery对象 而不是新版本的$对象,而且wpDiscuz需要主题使用wp_head() 函数来启用某些必要的钩子。具体哪些还需测试。
文章主要参考自:爱鱼客
更新WordPress自带的jQuery版本