Uncaught TypeError:编辑Woocommerce产品时,jQuery...live不是函数

问题描述

我有一个使用Woocommerce出售产品的网站。在我更新到Wordress 5.5之前,商店一直运转良好

现在,每当我编辑产品时,帖子编辑器中的几个元素都不起作用。我无法删除精选图片,也无法使用“文本”标签编辑帖子。同样,当我单击以设置特色图像时,它会打开一个标签(将我从帖子编辑器中带走),其中包含一个过时的特色图片页面

我在控制台中查看,并且收到此错误

 Uncaught TypeError: jQuery(...).live is not a function
      at HTMLDocument.<anonymous> (post.PHP?post=28000&action=edit:1636)
      at i (jquery.js?ver=1.12.4-wp:2)
      at Object.fireWith [as resolveWith] (jquery.js?ver=1.12.4-wp:2)
      at Function.ready (jquery.js?ver=1.12.4-wp:2)
      at HTMLDocument.J (jquery.js?ver=1.12.4-wp:2)

但是,堆栈跟踪并不能告诉我很多。这是堆栈跟踪中的路径:

第一行:https://sitename.com/wp-admin/post.php?post=28000&action=edit

第二,第三,第四和第五行:https://sitename.com/wp-includes/js/jquery/jquery.js?ver=1.12.4-wp

因此,堆栈跟踪指向wordpress包含中的jquery.js。这并不能告诉我太多,因为我的wordpress版本为5.5。我似乎无法根据堆栈跟踪来找出问题的根源,因此我不知道从jQuery修复此折旧错误的位置。

有什么我可以解决的吗?我尝试使用此插件,此问题已解决https://wordpress.org/plugins/enable-jquery-migrate-helper/

但是,这只是临时修复,因此我不想使用此方法

解决方法

通过jQuery .live()函数documentation

注意:此API已在jQuery 1.9中删除;请改用on()。

可能jQuery与WordPress一起更新,并且该功能已被弃用。

,

我必须在站点文件中到处都找到.live()并用.on()替换。这样可以解决问题!