问题描述
我有一个使用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()替换。这样可以解决问题!