WPML

Aprenda a definir as configurações de tradução para campos personalizados usando o arquivo wpml-config.xml. Defina opções de tradução como traduzir e copiar, e insira atributos adicionais.

Definir opções de tradução para campos personalizados

O WPML fornece quatro opções de tradução para campos personalizados:

AçãoDescriçãoVisível no ATE?
TraduzirAtiva o valor do campo personalizado para traduçãoSim
Copiar Copia o valor do campo personalizado do idioma padrão para o idioma secundário, mantendo ambos sincronizadosNão
Copiar uma vezCopia o valor do campo personalizado do idioma padrão para o idioma secundário, sem manter ambos sincronizadosNão
IgnorarEvita copiar o valor do campo personalizado para o idioma secundárioNão
Exemplo de como adicionar campos personalizados ao arquivo de configuração de idiomas
<wpml-config>
  <custom-fields>
     <custom-field action="copy">quantity</custom-field>
     <custom-field action="translate">custom-title</custom-field>
     <custom-field action="copy">weight</custom-field>
     <custom-field action="copy-once">bg-color</custom-field>
     <custom-field action="translate">custom-description</custom-field>
     <custom-field action="ignore">date-added</custom-field>
  </custom-fields>
</wpml-config>

Adicionar atributos para campos personalizados

Atributos de rótulo e grupo

O WPML permite que você adicione atributos que aparecem no Editor de tradução avançado. Isso inclui:

  • style – exibe linha única (line), área de texto (textarea) ou WYSIWYG (visual)
  • label – exibe o rótulo ao lado do campo
  • group – especifica a qual grupo o campo personalizado pertence. Quando um campo está em um grupo:
    • O campo é removido da seção de campos personalizados
    • O campo é adicionado à seção do grupo relacionado
Exemplo de atributos de campos personalizados
<wpml-config>
  <custom-fields>
    <custom-field action="translate" style="line" label="Title">custom-title</custom-field>
    <custom-field action="translate" style="textarea" label="Description">custom-description</custom-field>
    <custom-field action="translate" style="visual" label="Some content" group="Custom group">custom-wysiwyg</custom-field>
  </custom-fields>
</wpml-config>

Veja como esses atributos aparecerão no Editor de tradução avançado:

Campos personalizados com rótulos no Editor de tradução avançado
Campos personalizados com rótulos no Editor de tradução avançado

Atributo encode

Você também pode adicionar atributos encode opcionais para alterar a codificação do valor padrão (sem codificação).  O atributo encode aceita os seguintes valores:

  • json
  • base64
  • urlencode

Se você quiser usar várias codificações, separe os valores com uma vírgula:

Exemplo de como adicionar campos personalizados ao arquivo de configuração de idiomas para alterar a codificação
<wpml-config>
  <custom-fields>
    <custom-field action="translate" encoding="json,base64">keywords</custom-field>
  </custom-fields>
</wpml-config>

Se o seu campo personalizado contiver um link, você pode usar o atributo translate_link_target para forçar o WPML a verificar e ajustar os links no campo personalizado. Para que esse atributo funcione, certifique-se de que o link esteja envolvido por tags <a>.

Exemplo de como forçar o WPML a ajustar links em um campo personalizado
<wpml-config>
  <custom-fields>
    <custom-field action="translate" translate_link_target="1">name_of_the_acf_field</custom-field>
  </custom-fields>
</wpml-config>

O WPML traduz todas as subchaves em campos personalizados por padrão. Para ignorar isso, especifique quais subchaves devem ser traduzidas.

Exemplo de código para tradução de subchaves em campos personalizados
<wpml-config>
  <custom-fields>
    <custom-field action="translate">with_attributes</custom-field>
    <custom-field action="translate">with_deep_attributes</custom-field>
    <custom-field action="translate">no_attributes</custom-field>
  </custom-fields>
  <custom-fields-texts>
    <key name="with_attributes">
        <key name="attribute1" />
        <key name="attribute2" />
    </key>
    <key name="with_deep_attributes">
        <key name="attribute1" />
        <key name="attribute2">
          <key name="level1">
          <key name="level2">
          </key>
          </key>
        </key>
    </key>
  </custom-fields-texts>
</wpml-config>

Curingas

Você também pode usar curingas da mesma forma que são usados para Textos de administração:

  • Corresponder a todos os subcampos que começam com title- usando o código:
    <key name="title-*" />
  • Corresponder a todos os subcampos (o que geralmente é usado para corresponder a um índice de array) usando o código:
    <key name="*" />
  • Para obter [{"title":"First title"},{"title":"Second title"}], use o código
Exemplo de arquivo de configuração com curingas
<wpml-config>
  <custom-fields-texts>
    <key name="key-name">
    <key name="*">
    <key name="title" />
    </key>
    </key>
  </custom-fields-texts>
</wpml-config>

Converter automaticamente IDs em campos personalizados de post

A partir do WPML 4.8, você pode declarar IDs localizados em campos personalizados de post. O WPML substitui os IDs por suas versões traduzidas no frontend.

Você só pode fazer isso quando a opção de tradução for Copiar (ou seja, ao usar <custom-field action="copy">).

Em custom-fields do seu arquivo wpml-config.xml, use:

  • type para indicar qual objeto é referenciado, ou seja, post-ids
  • sub-type (opcional) quando você quiser declarar o slug de um tipo de post

O WPML pode detectar e converter IDs nestes formatos:

  • Um único ID (por exemplo, 123)
  • Uma lista de IDs separados por vírgula (por exemplo, “123,456,789”)
  • Um array (e array codificado) de IDs (por exemplo, [123,456,789])
Exemplo de como declarar IDs em campos personalizados
<custom-fields>
	<custom-field action="copy" type="post-ids" sub-type="product">custom_field_with_id</custom-field>
</custom-fields>

Quando os IDs estão aninhados na seção custom-fields-texts em um subnível, o WPML os detectará e converterá, independentemente da configuração de tradução do campo (copiar, traduzir, etc.).

Exemplo de como declarar IDs em campos personalizados aninhados
<wpml-config>
  <custom-fields-texts>
    <key name="custom_field_with_nested_ids">
      <key name="custom_field_nested_key_with_ids" type="post-ids" sub-type="product" />
      <key name="custom_field_nested_key_with_ids_with_wildcard_*" type="post-ids" sub-type="product" />
      <key name="custom_field_nested_key_with_subkey">
        <key name="custom_field_nested_key_with_subkey_with_ids" type="post-ids" sub-type="product" />
      </key>
    </key>
  </custom-fields-texts>
</wpml-config>

Usando a mesma sintaxe de type e sub-type, você pode declarar IDs em textos de administração (tabela wp_options).

Definir opções de tradução para campos personalizados de termos de taxonomia

Para traduzir campos personalizados de termos de taxonomia, você precisa especificar o nome do campo e a ação que o WPML deve realizar: traduzir, copiar, copiar uma vez, ignorar.

Aninhe essa marcação sob a tag wpml-config.

Você pode definir as seguintes opções de tradução para campos personalizados de termos:

  • translate: permite que seu usuário traduza o valor do termo personalizado. Esses termos aparecem na tela do Editor de tradução e podem ser traduzidos manual ou automaticamente, ou enviados para outros tradutores.
  • copy: copia o valor do termo personalizado do idioma padrão para os idiomas secundários. Isso significa que a atualização do valor do termo personalizado do idioma padrão sempre será copiada para o idioma secundário. Os termos personalizados definidos como copy não são exibidos na tela do Editor de tradução.
  • copy-once: copia o valor do termo personalizado para o idioma secundário no processo de tradução inicial. Os termos personalizados que usam a ação copy-once não aparecerão na tela do Editor de tradução. No entanto, o usuário pode alterar o valor do termo personalizado do idioma secundário para ser diferente do idioma padrão usando a tela de edição do post.
  • ignore: evita que o termo personalizado seja copiado para o idioma secundário.
Exemplo de como adicionar termos personalizados ao arquivo de configuração de idiomas
<wpml-config>
  <custom-term-fields>
    <custom-term-field action="copy">term_meta_A</custom-term-field>
    <custom-term-field action="translate">term_meta_B</custom-term-field>
    <custom-term-field action="ignore">term_meta_C</custom-term-field>
    <custom-term-field action="copy-once">term_meta_D</custom-term-field>
  </custom-term-fields>
</wpml-config>

Converter automaticamente IDs armazenados em campos personalizados de termos de taxonomia

Você só pode fazer isso quando o campo está definido como Copiar (ou seja, ao usar <custom-term-field action="copy">).

Assim como nos campos personalizados de post, você pode declarar IDs de objetos mantidos em campos personalizados de taxonomia. O WPML então os converte automaticamente para suas versões traduzidas.

Na seção custom-term-fields, use:

  • type para indicar qual objeto é referenciado, ou seja, post-ids ou taxonomy-ids
  • sub-type (opcional) quando você quiser declarar a entidade específica
Exemplo de como declarar IDs em campos personalizados de termos
<wpml-config>
  <custom-term-fields>
    <custom-term-field action="copy" type="post-ids" sub-type="product">custom_term_field_with_id</custom-term-field>
  </custom-term-fields>
</wpml-config>

Recursos adicionais

Para saber mais sobre o arquivo wpml-config.xml, visite o guia sobre Arquivos de configuração de idiomas.

Para personalizar outros elementos usando o arquivo wpml-config.xml, visite nossos guias adicionais:

Escrito por Amir · Última atualização em 29 de janeiro de 2026