解决 Elementor 弹窗模板保存时Display Conditions不显示无法设置条件的问题

在使用 Elementor Pro 创建 WordPress 模板时,遇到过 Display Conditio […]

在使用 Elementor Pro 创建 WordPress 模板时,遇到过 Display Conditions 打不开或加载空白 的情况吗?最近在升级到 WordPress 6.9 后,我们的模板管理页面出现了类似问题,经过排查发现,核心问题与 JavaScript 兼容性以及数据库中模板条件的存储方式有关。

一、问题现象

在 WordPress 6.9 中打开某个模板的 Display Conditions 时,控制台报错:

1
Uncaught (in promise) ReferenceError: sprintf is not defined

页面无法显示 Display Conditions 窗口,模板条件无法编辑。

二、问题原因

1. JavaScript 兼容性问题

官方给出的答复是:

“It appears this issue was caused by a JavaScript compatibility problem triggered by changes in WordPress 6.9 (related to sprintf / i18n). Elementor Pro was still calling sprintf() in a way that was no longer available in WP 6.9.”

也就是说,WordPress 6.9 对 sprintf() 的使用进行了兼容性调整,而旧版本 Elementor Pro 仍然在调用旧方式,导致前端 JS 出错,Display Conditions 面板无法加载。

三、解决方案

既然是因为wordpress升级导致此问题,那么最简单的方法就是降级处理,降级到之前版,因为之前版本是wordpress-6.8.3-zh_CN,所以我们来试试降级到wordpress-6.8.3-zh_CN版本看一下能否解决。

首先在进行WordPress降级/回退版本操作前,请对您的整站数据进行备份、请对您的整站数据进行备份、请对您的整站数据进行备份

备份好数据,我们就可以开始对WordPress站点进行降级操作了。

关闭更新

在降级之前建议你先关闭站点的自动更新,不然一降级完成,网站又被更新了…

方便省事建议你直接在你WordPress网站的根目录下找到wp-config.php文件打开,找到/* That’s all, stop editing! Happy publishing. */这行文字,在它的前面加入下面这句代码:

define( 'AUTOMATIC_UPDATER_DISABLED', true );

WordPress降级方法一 手动替换核心文件

首先前往WordPress发布存档页面,下载到自己需要的WordPress版本核心程序,也就是wordpress-6.8.3-zh_CN版本程序

解压后删除 wp-content 这个目录(这个目录是我们的用户文件,例如主题插件上传的图片等,如果不删除直接覆盖,那么可能导致这些数据消失…)。

然后上传到我们的站点根目录直接覆盖。

这个时候就会覆盖WordPress的核心文件,替换为我们指定版本的WordPress的了。

这时我来再去刷新一下看看,问题完美解决!!!

发表评论

您的邮箱地址不会被公开。 必填项已用 * 标注

滚动至顶部