跳到内容 跳到侧边栏

我们刚刚发布了 WPML Multilingual & Multicurrency for WooCommerce 5.5.6。此版本专注于性能优化,旨在解决店主们最常反馈的问题之一:当您的商品目录包含大量变体和多种语言时,在 WooCommerce 编辑器中保存可变产品的速度非常缓慢。此版本修复了这一问题。

为什么保存可变产品一直很慢

当您保存产品时,WPML Multilingual & Multicurrency for WooCommerce (WCML) 会保持每个翻译版本与原件同步。这项工作涵盖了价格、属性、库存、变体以及其他相关数据。

在单产品、单语言的网站上,这项工作是无感的。但在一个拥有 7 种语言、100 个变体的商店中,同样的保存操作会在后台静默运行 数百次数据库更新。而这些更新中的大部分是针对实际上并未发生变化的翻译数据。

作为一种安全保障,这在逻辑上是合理的,因为它确保了没有任何内容会脱离同步。但这也意味着,修正一个拼写错误所付出的代价与导入一个全新产品的代价相同。拥有大型商品目录的商店对此深有体会,许多用户也向我们反映了这一点。

WCML 5.5.6 改变了这一现状。

新功能:编辑器范围同步模式

我们添加了一个名为 产品保存时的变体翻译同步 的新设置。它有两种模式。

完全同步(默认,保持不变)

WCML 继续执行现有的操作。每次保存都会同步每种语言中的每个变体。这是确保翻译与源内容保持一致的最强有力保障。

升级后,完全同步仍为默认设置。除非您另行选择,否则您的网站不会发生变化。

编辑器范围同步(新增,需手动开启)

在此模式下,从 WooCommerce 编辑器保存时,仅同步您实际编辑过的变体。

我们对一个拥有 9 个变体并翻译成 19 种语言的产品进行了测试,测量了完整的保存周期——从点击 保存 到编辑器再次可用。在仅更新产品描述的情况下,WCML + WPML 的耗时从 2.08 秒降至 1.42 秒,减少了 32%。WooCommerce 和 WordPress 本身未受影响。总保存时间从 5.52 秒降至 4.86 秒——整体提升了 12%。

更新产品的处理时间

显示更新产品所需处理时间数据的柱状图

您的结果将取决于 WooCommerce、您的主题、您的主机以及您使用的其他插件。拥有大型目录和多种语言的商店将获得最显著的提升。

那些您没有改动的变体怎么办?

我们知道这是首要疑问。这里有两个安全保障措施。

保存后通知。 当开启编辑器范围同步时,每次保存都会显示一条通知。它会列出跳过了多少个变体,并提供一个一键按钮:强制更新所有变体翻译。这样,完整同步始终触手可及,您无需切换模式即可实现。

保存可变产品后显示的通知 – WCML 提醒您哪些变体已同步

当完全同步在做无用功时给予提示。 如果您保持开启 完全同步,我们会监测那些在没有实际更改的情况下执行了大量工作的保存操作。当我们发现这种模式时,会建议您切换模式。该提示仅出现在大型产品上。我们使用的阈值是:变体数量 × 语言数量 ≥ 120。低于此数值时,耗时并不明显,我们不会打扰您。

保存可变产品后显示的警告 – WCML 指出资源浪费并提供更好的选项

编辑器范围同步的适用范围

编辑器范围同步仅影响从 WooCommerce 产品编辑器进行的保存操作。该界面正是您感到卡顿的地方。

不会 改变:

  • 翻译仪表盘
  • 自动翻译所有内容
  • CSV 导入、API 调用以及其他程序化编辑产品的方式
  • 翻译服务返回任务后的后台同步

翻译人员的工作流程不受影响。

如何开启编辑器范围同步

更新到 5.5.6 后,前往 WooCommerceWCML 并点击 设置 选项卡。您将看到 产品保存时的变体翻译同步 选项。将其切换为 仅同步在编辑器中编辑过的变体 并点击 保存更改

在 WCML 设置中设置新的“产品保存时的变体翻译同步”选项

保存任意产品以确认保存后通知是否出现。

更多性能改进

在使用对象缓存的商店中,产品页面加载速度更快

许多用户使用 Redis 或 Object Cache Pro 等持久性对象缓存。通过这些缓存,拥有大量评论的产品页面在此次更新后加载速度将明显加快。

我们更改了 WCML 处理产品评论缓存的方式。以前,它在每次查看产品时都会清除部分对象缓存。现在,它会配合您的对象缓存工作,而不是清除它。

购物车计算仅在内容发生变化时运行

WCML 过去会在已登录购物者访问的每个页面上重新计算购物车总额。这包括产品页面、账户页面和商店存档页面。即使购物车没有任何变化,这种情况也会发生。

从本版本开始,我们仅在货币、汇率或购物车内容实际发生变化时才重新计算。在所有其他页面上,WCML 不会介入。

更简洁的迷你购物车行为

WooCommerce 已经在每个购物会话开始时发起一次购物车刷新请求。该请求用于保持迷你购物车的准确性。

WCML 过去在每次页面加载时都会发起第二次请求。即使购物车是空的,它也会运行。

这第二次请求在 5.5.6 中已移除。更少的后台请求,更轻的服务器负载。

减少翻译产品图片背后的工作量

我们简化了翻译后的产品图册图片的管理方式。

以前,这项工作会执行两次。一次是在产品保存或翻译时,另一次是在每次页面查看时。现在已移除了页面查看时的处理步骤。翻译产品时保存的数据现在被视为可信的数据源。

您网站上的最终效果保持不变,但查询次数更少。

大型可变产品页面:请将此更新与最新版 WooCommerce 配合使用

部分用户反映,拥有数百个变体的单个产品页面加载非常缓慢。我们进行了调查。WooCommerce 10.4.x 本身存在一个性能问题,显著放大了这种延迟。WooCommerce 10.7 随后修复了该问题。

如果您在商店中遇到过这种情况,请将 WooCommerce 更新至 10.7 或更高版本,并配合使用 WCML 5.5.6。 这是目前最快的解决途径。

实用的修复

变体现在可以回退到默认语言

一些商店在产品尚未翻译时,允许次要语言回退到默认语言。在这些商店中,未翻译产品的变体过去会从下拉菜单中消失。现在它们保持可见,并按照设置承诺回退到默认语言。

翻译后的商店页面上刷新过滤计数

当您为已翻译的产品添加新属性时,您希望翻译后的商店页面上的 按属性过滤 计数能反映这一变化。在此版本之前,它们并不会更新。原语言商店更新了,但翻译后的商店没有。

WCML 现在会在将属性同步到翻译后清除正确的 WooCommerce 缓存。两个商店的显示将保持一致。

每个切换器上都有货币切换加载图标

您可以在同一页面上多次放置 [currency_switcher] 短代码。例如,在页眉和页脚各放一个。过去,加载图标仅出现在最后一个切换器上。从本版本开始,当客户更改货币时,所有切换器上都会出现加载图标。

与 WooCommerce 10.8 的兼容性

WooCommerce 10.8 计划于 2026 年 5 月 26 日星期二发布。我们已针对该版本测试了 WCML 5.5.6。我们的发布时间定在次日。您安装的版本是我们已针对发布的 WooCommerce 构建版本验证过的版本。

更新与反馈

与往常一样,我们正在逐步推出此版本。如果您想立即更新:

  1. 在您网站的管理后台,前往 插件安装插件。 单击 “商业“选项卡。
  2. 点击 检查更新
  3. WPML Multilingual & Multicurrency for WooCommerce 5.5.6 将出现在列表中。从那里进行更新。

我们很想了解编辑器范围同步在您商店中的表现。如果您拥有包含大量变体和多种语言的大型目录,我们对此尤其感兴趣。请在下方留言或在我们的支持论坛中提交工单。让我们知道您的测量结果。