Aprenda como tornar traduzíveis os textos salvos na tabela wp_options e converter IDs de objetos automaticamente.
Às vezes, temas e plugins incluem textos como parte das opções que salvam na tabela wp_options. O WPML permite que você traduza esses textos substituindo as chamadas de get_option pelas traduções que você especifica no arquivo wpml-config.xml.
O arquivo wpml-config.xml é um documento de configuração que instrui o WPML sobre quais strings nas opções salvas precisam de tradução.
Este guia é para desenvolvedores que criam seus próprios temas e plugins. Se você está tentando traduzir strings provenientes de temas e plugins de terceiros, leia nossa página sobre como encontrar strings que não aparecem na página de Tradução de Strings.
Precisa gerar um arquivo wpml-config.xml? Visite nosso guia passo a passo para gerar um arquivo de configuração automaticamente usando o plugin Multilingual Tools.
Traduzir strings na tabela wp_options
Quando temas e plugins usam get_option, eles leem valores da tabela wp_options. O WPML pode filtrar essas chamadas e fornecer tradução para os valores dessas opções.
Isso funciona se o registro de wp_option for uma string simples, mas também quando for um array serializado.
Para traduzir uma única opção, adicione uma entrada key em admin-texts. Para traduzir um array serializado, adicione várias keys sob uma key, como você pode ver em my_plugin_options no exemplo abaixo.
Textos de administração no arquivo de configuração de idiomas
<wpml-config>
<admin-texts>
<key name="my_plugins_options">
<key name="option_name_1" />
<key name="option_name_2" />
<key name="options_group_1">
<key name="sub_option_name_11" />
<key name="sub_option_name_12" />
</key>
<key name="options_group_2">
<key name="sub_option_name_21" />
<key name="sub_option_name_22" />
</key>
</key>
<key name="simple_string_option"/>
</admin-texts>
</wpml-config>É possível usar o curinga * em sub-keys, como no caso a seguir.
Exemplo de uso do curinga
<wpml-config>
<admin-texts>
<key name="testing_option">
<key name="*"/>
</key>
</admin-texts>
</wpml-config>É igual a este código:
O código equivalente
<wpml-config>
<admin-texts>
<key name="testing_option">
<key name="sub_key_1"/>
<key name="sub_key_2">
<key name="sub_sub_21">
<key name="sub_sub_211"/>
</key>
<key name="sub_sub_21"/>
</key>
<key name="more_sub_keys"/>
</key>
</admin-texts>
</wpml-config>Observe que o curinga * NÃO funciona em keys pai:
O curinga não funciona em keys pai
<wpml-config>
<admin-texts>
<key name="some_option_*" />
<key name="*"/>
</admin-texts>
</wpml-config>Converter IDs de objetos automaticamente em textos de administração
A partir do WPML 4.8, você pode declarar que certos textos de administração contêm IDs de objetos, como IDs de post, produto ou taxonomia. O WPML converte esses IDs automaticamente no frontend do site.
Esta é uma extensão da funcionalidade existente sobre como converter IDs de shortcode automaticamente e usa a mesma sintaxe.
Nas entradas key em admin-texts, use:
- type para declarar qual objeto é referenciado, ou seja, post-ids ou taxonomy-ids
- sub-type (opcional) quando você quiser declarar a entidade específica (por exemplo, product)
Os atributos Type e sub-type podem ser adicionados em qualquer nível aninhado.
O WPML pode detectar e converter IDs nestes formatos:
- Um único ID (por exemplo, 123)
- Um array (e array codificado) de IDs (por exemplo, [123,456,789])
- Uma lista de IDs separados por vírgula (por exemplo, “123,456,789”)
Exemplo de declaração de IDs de objetos em textos de administração
<wpml-config>
<admin-texts>
<key name="admin_text_option_key" type="post-ids" sub-type="product" />
<key name="admin_text_with_nested_ids">
<key name="admin_text_nested_key_with_ids" type="post-ids" sub-type="product" />
<key name="admin_text_nested_key_with_ids_with_wildcard_*" type="post-ids" sub-type="product" />
<key name="admin_text_nested_key_with_subkey">
<key name="admin_text_nested_key_with_subkey_with_ids" type="post-ids" sub-type="product" />
</key>
</key>
</admin-texts>
</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:
- Traduzir shortcodes personalizados com o WPML
- Registrar conteúdo de construtores de páginas para tradução
- Registrar widgets personalizados de construtores de páginas para tradução
- Definir opções de tradução para campos personalizados usando o arquivo de configuração do WPML
- Registrar termos, tipos de post e taxonomias personalizados como traduzíveis
- Tornar blocos personalizados do Gutenberg traduzíveis
- Personalizar o seletor de idiomas do WPML usando o arquivo de configuração do WPML