Skip Navigation
Originally written
June 12, 2017
Updated
October 6, 2020

WPML lets you translate all content, including content coming from custom fields. It includes built-in support for popular plugins like ACF and Toolset and allows you to choose which custom fields to translate when you create them manually.

Custom Fields Coming from Plugins and Themes

When custom fields are coming from plugins or from themes, most of the time, you don’t need to configure anything to translate them. The fields will appear “by themselves” with the pages that you’re translating. This is true for custom fields coming from ACF, Toolset and more other popular themes and plugins.

  1. Set-up the custom fields using ACF or Toolset, or use a theme/plugin that includes custom fields
  2. Send content to translation (by clicking on the + icons or from WPML’s Translation Management)
  3. The translation editor will have all the content on the page, including custom fields
  4. WPML saves each piece of translation in the right place without any need to configure

Indicating Which Custom Fields to Translate

In case you set-up custom fields using your own PHP code, or you’re using a theme or a plugin that isn’t fully integrated with WPML, you should indicate which custom fields to translate.

To be able to translate custom fields, you need to set them as “translatable” in WPML. There are two ways of doing this:

  • When editing contents featuring the custom fields, in the Multilingual Content Setup box.
Set custom field as "translatable" when using Block editor
Set custom field as “translatable” when using Block editor
Set custom field as "translatable" when using Classic editor
Set custom field as “translatable” when using Classic editor
  • By going to the WPML → Settings page and scrolling to the Custom Field Translation section.

There are four options to choose from:

  • Don’t translate – the field is not available for translation.
  • Copy – the value of the field is copied from the original language and kept in synchronization with it.
  • Copy once – the value of the field is copied from the original language but it can be changed later. After the first copy, it will not be kept in synchronization with the original language.
  • Translate  – allows you to manually translate the field values.

If you are not performing the translation yourself, you need to resend all contents that feature these custom fields for retranslation.