Aprenda a hacer que los textos guardados en la tabla wp_options sean traducibles y a convertir automáticamente los ID de los objetos.
A veces, los temas y plugins incluyen textos como parte de las opciones que guardan en la tabla wp_options. WPML le permite traducir esos textos reemplazando las llamadas a get_option con las traducciones que usted especifique en el archivo wpml-config.xml.
El archivo wpml-config.xml es un documento de configuración que indica a WPML qué cadenas de las opciones guardadas necesitan traducción.
Esta guía es para desarrolladores que crean sus propios temas y plugins. Si intenta traducir cadenas provenientes de temas y plugins de terceros, lea nuestra página sobre cómo encontrar cadenas que no aparecen en la página de Traducción de cadenas.
¿Necesita generar un archivo wpml-config.xml? Visite nuestra guía paso a paso para generar automáticamente un archivo de configuración usando el plugin Herramientas multilingües.
Traducir cadenas en la tabla wp_options
Cuando los temas y plugins usan get_option, leen los valores de la tabla wp_options. WPML puede filtrar estas llamadas y proporcionar la traducción para los valores de estas opciones.
Esto funciona si el registro wp_option es una cadena simple, pero también cuando es un array serializado.
Para traducir una sola opción, añada una entrada key en admin-texts. Para traducir un array serializado, añada varias claves debajo de un key, como puede ver en my_plugin_options en el ejemplo a continuación.
Textos de administración en el archivo de configuración 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>Es posible usar el comodín * en subclaves como en el siguiente caso.
Ejemplo de uso de comodín
<wpml-config>
<admin-texts>
<key name="testing_option">
<key name="*"/>
</key>
</admin-texts>
</wpml-config>Es igual a este código:
El 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>Tenga en cuenta que el comodín * NO funciona en las claves principales:
El comodín no funciona en las claves principales
<wpml-config>
<admin-texts>
<key name="some_option_*" />
<key name="*"/>
</admin-texts>
</wpml-config>Convertir automáticamente los ID de objetos en los textos de administración
A partir de WPML 4.8, puede declarar que ciertos textos de administración contienen ID de objetos, como ID de entradas, productos o taxonomías. WPML convierte automáticamente esos ID en el frontend del sitio.
Esta es una extensión de la funcionalidad existente sobre cómo convertir automáticamente los ID de los shortcodes y usa la misma sintaxis.
En las entradas key de admin-texts, use:
- type para indicar a qué objeto se hace referencia, es decir, post-ids o taxonomy-ids
- sub-type (opcional) cuando quiera declarar la entidad específica (por ejemplo, product)
Los atributos Type y sub-type pueden añadirse en cualquier nivel de anidamiento.
WPML puede detectar y convertir los ID en estos formatos:
- Un ID único (por ejemplo, 123)
- Un array (y array codificado) de ID (por ejemplo, [123,456,789])
- Una lista de ID separados por comas (por ejemplo, “123,456,789”)
Ejemplo de declaración de ID de objetos en textos de administración
<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 adicionales
Para obtener más información sobre el archivo wpml-config.xml , visite la guía de Archivos de configuración de idiomas.
Para personalizar otros elementos usando el archivo wpml-config.xml, visite nuestras guías adicionales:
- Traducir shortcodes personalizados con WPML
- Registrar el contenido del maquetador visual para su traducción
- Registrar widgets personalizados del maquetador visual para su traducción
- Establecer opciones de traducción para campos personalizados usando el archivo de configuración de WPML
- Registrar términos personalizados, tipos de contenido y taxonomías como traducibles
- Hacer que los bloques personalizados de Gutenberg sean traducibles
- Personalizar el selector de idiomas de WPML usando el archivo de configuración de WPML