问题概述
如果您使用 TablePress 插件创建表格,则无法使用 WPML 进行翻译。WPML 不会在翻译编辑器中将表格的单元格显示为单独的文本。
临时解决方法
有三种方法可以以多种语言显示 TablePress 表格。请选择其中一种。
选项 1:每种语言一个表格(推荐)
为每种语言创建一个表格。然后将每个表格添加到其对应语言的页面中。TablePress 作者也推荐 (在新标签页中打开)此解决方案。- 前往 TablePress所有表格。
- 将鼠标悬停在原始表格上,然后单击复制。
- 编辑副本并在 TablePress 中翻译其单元格。
- 将副本添加到翻译后的页面。使用 TablePress table 区块或该副本的简码。
选项 2:行筛选(TablePress 高级版本)
使用 TablePress 高级版本的行筛选模块 (在新标签页中打开)。为每种语言复制每一行。使用语言代码作为筛选词,例如在额外且已隐藏的第一列中。选项 3:使用 WPML 翻译表格(高级)
仅当选项 1 和 2 不适合您时,才使用此选项。在开始之前,请对您的网站进行完整备份。限制:TablePress 会将表格的所有单元格保存为一个代码块。WPML 会将此代码块作为一个字段发送到翻译编辑器。
- 您无法在高级翻译编辑器中翻译单元格。
- 在经典翻译编辑器中,您只能将单元格作为原始代码进行编辑,例如
[["Tour","Days","Price"],["Coastal Loop","2","240 EUR"]]。仅翻译引号内的文字。保留每个括号、引号和逗号。一个错误就会破坏表格。
- 前往 WPML设置翻译编辑器。在经典翻译编辑器下,单击选择。
- 前往 WPML设置文章类型翻译。将 TablePress Tables 设置为可翻译 – 仅显示翻译的项目,然后单击保存。

将 TablePress Tables 文章类型设置为可翻译 - 前往 WPML设置自定义字段翻译。单击显示系统字段。将以下字段设置为复制,然后单击保存:
- _tablepress_table_options
- _tablepress_table_visibility
- 前往 WPML翻译,在仪表板选项卡中。在 TablePress Tables 部分,选择该表格。单击翻译您的内容,选择自己翻译,然后单击翻译内容。
- 前往翻译任务选项卡,然后在该表格所在行单击翻译。
- 在 Body 字段中,单击代码选项卡。如上所述,在此处翻译单元格。不要使用可视化选项卡。为每个字段选择翻译已完成,然后单击保存并关闭。
- 获取翻译后表格的 ID:
- 前往字符串选项卡。在实用工具部分的没有看到您要查找的字符串?下,单击管理文本翻译。
- 搜索 tablepress_tables。选择结果并单击添加到字符串翻译。
- 返回字符串选项卡。在域下拉列表中,选择 admin_texts_tablepress_tables 并单击筛选。
- 找到原始表格的 ID。该字符串包含类似
"table_post":{"1":5}的键值对。第一个数字是 TablePress所有表格显示的表格 ID。第二个数字是原始表格的 ID。 - 单击铅笔图标以翻译该字符串。将原始内容复制到翻译中。然后将原始表格的 ID(本例中为 5)替换为翻译后表格的 ID(本例中为 8)。按 Enter 键保存。

将原始表格 ID 替换为翻译后的表格 ID - 像往常一样翻译显示该表格的页面。表格区块或简码会保留相同的表格 ID。在翻译后的页面上,它现在会显示翻译后的表格。






