Aprenda a traducir shortcodes de plugins, temas y los que usted mismo desarrolle con WPML.
Con WPML, puede traducir tanto shortcodes basados en texto como basados en ID. Los shortcodes basados en texto muestran texto, como este:
[goodmorning name="Dear client"]
Por otro lado, los shortcodes basados en ID muestran un elemento utilizando su número de ID:
[myslider id="1"] [myslider id="2"]
Aquí, cada shortcode muestra un slider diferente. Por ejemplo, uno puede mostrar un slider en inglés y el otro en español.
Para traducir el shortcode, reemplazaría el ID de un slider por el otro (por ejemplo, 1 → 2).
Traducir shortcodes de plugins y temas compatibles
Para traducir shortcodes de plugins y temas compatibles, vaya a WPML → Escritorio de traducción y envíe la página que contiene su shortcode a traducir. Su shortcode aparecerá en el Editor de traducción avanzado junto con el resto del contenido de su página.
Por ejemplo, así es como aparece el siguiente shortcode en el editor:
[goodmorning name="Dear client"]

Si su shortcode incluye un atributo de enlace (URL), utilice la barra de búsqueda para encontrarlo. WPML oculta los enlaces en los shortcodes de forma predeterminada.

Traducir shortcodes de plugins y temas no compatibles
Para traducir shortcodes de plugins y temas no compatibles, primero debe registrarlos en el archivo de Configuración XML personalizada de WPML.
Considere este ejemplo con dos shortcodes:
[fanpage link="https://example.com"]Some content[/fanpage] [goodmorning name="dear client" type="official"]
Para registrar estos shortcodes en WPML, utilizaremos el siguiente código de configuración:
<wpml-config>
<shortcodes>
<shortcode>
<tag>goodmorning</tag>
<attributes>
<attribute>name</attribute>
<attribute>type</attribute>
</attributes>
</shortcode>
<shortcode>
<tag label="Fanpage shortcode">fanpage</tag>
<attributes>
<attribute>link</attribute>
</attributes>
</shortcode>
</shortcodes>
</wpml-config>
Así es como funciona la configuración en WPML:
- Coloque todos los shortcodes dentro de <shortcodes>
- Envuelva la configuración individual de los shortcodes dentro de <shortcode>
- Defina los nombres de los shortcodes con <tag> e incluya etiquetas personalizadas según sea necesario. Estas etiquetas se muestran junto al texto en el Editor de traducción avanzado.
- Defina el título de cada atributo con <attribute>
- Envuelva todos los atributos con <attributes>
Una vez que registre sus shortcodes, podrá traducirlos junto con el resto del contenido de la página a través de WPML → Escritorio de traducción.
Traducir shortcodes personalizados
Para traducir los shortcodes personalizados que desarrolle por su cuenta, primero debe registrarlos en WPML. Una vez hecho esto, podrá traducirlos junto con el resto del contenido de la página.
Traducir textos codificados directamente dentro de shortcodes
De forma predeterminada, los textos codificados directamente no son traducibles en WPML. Para hacerlos traducibles, puede utilizar el marco de trabajo Gettext. Considere este ejemplo, con “Good morning” como texto codificado directamente:
function goodmorning_att($atts) {
$default = array(
'name' => 'there',
);
$a = shortcode_atts($default, $atts);
return 'Good morning, '.$a['name'];
}
add_shortcode('goodmorning', 'goodmorning_att');
Para que “Good morning” sea traducible, puede ajustar el código para utilizar Gettext:
function goodmorning_att($atts) {
$default = array(
'name' => 'there',
);
$a = shortcode_atts($default, $atts);
return __('Good morning, ', 'default').$a['name'];
}
add_shortcode('goodmorning', 'goodmorning_att');
Esto hará que el texto “Good morning” sea traducible y lo añadirá a Traducción de cadenas.
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 configurar otros elementos en WPML, consulte nuestras guías adicionales:
- 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 mediante el archivo de configuración de WPML
- Registrar términos, tipos y taxonomías personalizadas como traducibles
- Hacer que los bloques personalizados de Gutenberg sean traducibles
- Traducir textos que el tema y los plugins guardan en wp_options
- Personalizar el selector de idiomas de WPML mediante el archivo de configuración de WPML