ACFML – WordPress 中的多语言 ACF 和 ACF Pro 自定义字段
让您网站上的每个自定义字段都实现多语言化。ACFML 为 Advanced Custom Fields 和 ACF Pro 添加了多语言支持。它涵盖了每种字段类型、每个字段组、每个选项页面,以及字段标签本身。完全支持包含中继器、灵活内容、克隆、条件逻辑以及本地 PHP 注册字段的 ACF Pro 设置。包含在 Multilingual CMS 和 Multilingual Agency 中。
每种 ACF 字段类型均支持多语言
如果您使用 ACF 构建网站,ACFML 涵盖了 ACF 和 ACF Pro 目录中的每种字段类型:
- 文本和所见即所得字段可按语言进行翻译。
- 中继器和灵活内容行在不同语言之间保持对齐。
- 图像、文件和画廊字段可按语言切换为本地化资产。
- 链接、关系和文章对象字段在不同语言之间保持正确的关联。
- 日期选择器、颜色选择器、地图及其他交互式字段在每种语言中均能正确运行。
您通过 ACF 注册的自定义文章类型、分类法和选项页面也可以进行翻译,包括它们的标签。您使用 ACF 构建的整个网站都将通过 ACFML 实现多语言化,而不仅仅是其中的一部分。
选择每种语言中相同和不同的内容
ACF 字段组没有一成不变的翻译行为。您网站上的我们的团队页面在每种语言中显示相同的团队成员:翻译他们的姓名和简介,并保持结构完整。事件页面为不同受众显示不同的事件:在每种语言中显示完全不同的事件。产品规格页面则混合了这两种情况:翻译说明,但保持 SKU 和价格不变。
ACFML 以字段组为单位处理这三种情况:跨语言相同字段、跨语言不同字段以及用于混合设置的专家模式。选择与每个字段组用途相匹配的模式;ACFML 会自动关联翻译行为。
按字段的翻译控制
在字段组内,每个字段都有自己的翻译首选项:
- 翻译。字段的值按语言进行翻译。
- 复制。字段的值在不同语言之间保持同步;编辑一次即可传播到所有语言。
- 复制一次。字段的值作为新翻译的基础,随后可以独立编辑每种语言版本。
- 不翻译。完全忽略该字段(例如,仅限内部管理的字段)。
每种字段类型均提供合理的开箱即用默认设置:文本和所见即所得字段默认为翻译,而图像、链接和数字等结构化字段默认为复制。完整的预设参考请参阅如何翻译 ACF 自定义字段。
中继器和灵活内容行在不同语言之间保持对齐
在使用其他工具时,中继器和灵活内容字段通常是多语言 ACF 设置出现问题的地方:行不同步、布局出现分歧,且译者会看到他们无法识别的内容。默认情况下,ACFML 会在不同语言之间保持行结构对齐。译者会按相同顺序看到相同的行,并且每个可翻译的子字段都在原位。如果您需要每种语言有不同的结构(例如,每种语言有不同的事件列表),复制一次首选项即可实现这一功能。
本地字段(通过 PHP 注册)获得相同的翻译行为
许多生产站点通过 PHP 而不是 ACF 管理后台 UI 注册 ACF 字段(为了可移植性、版本控制或主题捆绑配置)。ACFML 2.2.0(2026年2月)带来了全面的本地字段支持。您可以在字段组定义中使用 wpml_cf_preferences 键设置每个字段的翻译首选项,从 ACF > 工具将其同步到 WPML,管理后台屏幕将镜像字段组声明的内容。当您在站点之间导出和导入时,ACF 的本地 JSON 文件会随身携带这些首选项。分步过程请参阅操作指南页面中的为通过 PHP 或 JSON 注册的字段设置首选项。
针对边缘情况的开发者钩子
对于具有自定义字段翻译逻辑的站点(排除特定字段、全局覆盖字段类型的默认首选项、向译者隐藏注释),ACFML 提供了两个过滤器(acfml_should_translate_acf_entity、acfml_field_group_mode_field_translation_preference)和四个常量(ACFML_EXCLUDE_FIELD_GROUP_STRINGS_IN_POST_JOBS、ACFML_HIDE_FIELD_ANNOTATIONS、ACFML_REPEATER_SYNC_DEFAULT、ACFML_SCAN_LOCAL_FIELDS)。包含代码示例的完整参考请访问ACFML 钩子和常量参考。
与 ACF 团队共同构建和维护
WPML 和 ACF 团队在持续兼容性方面密切合作,这在联合的 ACF 兼容性页面上得到了确认。当 ACF 或 ACF Pro 发布新版本时,ACFML 会紧跟其后;当 ACFML 需要 ACF 端支持新的翻译行为时,双方会共同构建集成,而不是进行逆向工程。
ACFML 包含在 WPML 中
ACFML 随 Multilingual CMS 和 WPML Agency 一同提供。无需单独购买,也没有按站点收取的费用。只需购买 WPML 一次,您帐户涵盖的每个 ACF 站点即可实现多语言化。如果您已经拥有 WPML,请从您的 WPML 下载页面激活 ACFML。