Si utilizas WPML para implementar diferentes idiomas en tu web, con la herramienta de Traducción de cadenas podrás traducir prácticamente cualquier texto de tu tema o plugins para el idioma que quieras.
Sin embargo, hay ocasiones en que necesitamos editar las plantillas de nuestro tema o child theme añadiendo algún contenido personalizado, y necesitamos utilizar un condicional para detectar el idioma en que se va a mostrar.
Un ejemplo común, es la función para modificar el copyright en las plantillas para Genesis Framework.
En el artículo Cambiar el texto del copyright en Genesis veíamos la función para hacerlo, sin embargo, es posible que necesitemos cambiarlo en función del idioma.
Si estamos utilizando WPML, podemos recurrir a la constante ICL_LANGUAGE_CODE para crear el condicional necesario.
En el siguiente ejemplo veremos cómo hacerlo:
add_filter( 'genesis_footer_output', 'dpw_custom_footer' ); function dpw_custom_footer( $output ) { if(ICL_LANGUAGE_CODE=='es') { $output = "Copyright © 2017 | <a href='http://midominio.com/aviso-legal/'>Aviso legal</a>"; } else { $output = "Copyright © 2017 | <a href='http://midominio.com/en/legal-notice/'>Legal notice</a>"; } return $output; }
En este caso lo estamos utilizando en una función, pero el condicional sería el mismo si necesitamos modificar una plantilla específica de nuestro tema.
Para saber el código específico de cada idioma, podéis ir a WPML -> Idiomas y hacer clic en el enlace Edit languages
Nos aparecerá el listado de idiomas activados para la web y en la columna Código tendremos el correspondiente para usar en nuestro condicional.