You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

WordPress更新后报Uncaught TypeError: $ is not a function如何解决

报错原因

WordPress 自带的 jQuery 库默认启用无冲突模式,会释放$别名的使用权,避免和其他 JavaScript 库产生命名冲突。你更新主题、插件后,原有对$别名的兼容配置被覆盖,或是新的插件/主题代码直接使用$调用 jQuery 未做兼容,就会触发该报错。

修复方案
  • 方案1:直接修改报错的JS代码(适配性最高,推荐)
    将报错的代码段包裹入jQuery兼容的立即执行函数或就绪回调中,函数内部可正常使用$别名:
// 写法1:适合需要等DOM加载完成后执行的轮播初始化逻辑
jQuery(document).ready(function($) {
  var $slid = $('#wp_posts_carousel-2 .owl-carousel').owlCarousel({
    // 保留你原有的 owlCarousel 配置参数即可
  });
});

// 写法2:不需要等待DOM加载时使用
(function($) {
  var $slid = $('#wp_posts_carousel-2 .owl-carousel').owlCarousel({
    // 原有配置
  });
})(jQuery);
  • 方案2:全局注册$别名(适合无法直接修改插件代码的场景)
    在当前使用的主题目录下的functions.php文件末尾添加如下PHP代码,全局绑定$到jQuery:
add_action('wp_enqueue_scripts', function() {
    wp_add_inline_script('jquery', 'var $ = jQuery.noConflict();');
}, 999);

注意:该方案需要确认你的站点没有引入其他使用$作为别名的JS库,否则可能引发新的命名冲突。

  • 方案3:排查jQuery重复加载问题
    更新后部分插件可能会强制加载第三方、低版本的jQuery,覆盖WordPress自带的jQuery导致冲突。你可以检查页面源码中的jQuery引入地址,移除多余的jQuery加载逻辑,保留WordPress官方自带的版本即可。

内容的提问来源于stack exchange,提问作者Sara Bajbak

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.20 11:06:03