Tutorial WordPress: Cómo traducir widgets en 4 pasos sencillos
Aprende a traducir widgets en WordPress con el plugin Widget Logic
El plugin Widget Logic para WordPress te permite crear diferentes versiones traducidas de los widgets de tu web de modo que puedes establecer una versión diferente de un mismo widget para cada idioma de tu sitio. En mis proyectos web utilizo frecuentemente el plugin WPML, que funciona muy bien para traducir páginas de WordPress, entradas, menús, textos, etc. También imparto clases sobre este y otros plugins en el Curso de WordPress de Aula CM.
WPML es un plugin muy potente y fiable, pero en lo que respecta a la traducción de widgets la tarea se vuelve un poco complicada y no siempre con un resultado óptimo, por lo que hay que implementar otras aplicaciones que complementen su funcionamiento. De todas las que he probado, Widget Logic es la más recomendable, pues me ha funcionado en el 100% de los casos combinándolo con WPML.
Cada día es más importante tener nuestros sitios web traducidos en diversos idiomas. Las nuevas oportunidades de negocio que surgen con el desarrollo de las nuevas tecnologías nos llevan a plantearnos la necesidad de ofrecer nuestros contenidos a una audiencia cada vez más global. Si quieres llegar a un mercado nuevo, crear comunidad, vender productos o servicios, etc… has de ofrecer estos contenidos en los diversos idiomas de los lugares donde quieras establecer tu estrategia. Esto puede parecer algo obvio, pero no siempre se tiene en cuenta con la importancia que merece.
Traducir una web no es sólo traducir algunos textos de tu página de inicio o de las secciones principales. Traducir una web, cuando la estrategia así lo demanda, es una tarea esencial que hemos de tener en cuenta a la hora de asignar los tiempos de desarrollo para el proyecto. Para que un usuario se sienta cómodo en tu sitio has de ofrecerle una traducción integral a su idioma materno de modo que sea incapaz de percibir que se encuentra en una versión traducida. A ningún usuario le gusta pensar que no te has tomado la molestia de ofrecerle todos los contenidos bien traducidos en su idioma. Y cuando digo todos los contenidos me refiero a todos los contenidos: desde los textos de páginas y entradas a los textos de cabecera, pie de página, formularios y widgets.
Traducir widgets de WordPress en 4 pasos
En este post voy a enseñarte a traducir widgets de WordPress para cada idioma de tu sitio, y te lo voy a explicar de un modo muy sencillo para que puedas hacerlo aunque no seas un experto en WordPress. En sólo 4 pasos vas a aprender a crear diferentes versiones traducidas de un widget:
1.
Ve a la sección Plugins > Añadir nuevo y teclea en el buscador el nombre del plugin: Widget Logic.
A continuación dale a Instalar ahora y después a Activar plugin. Ahora ya tenemos el plugin funcionando.
2.
Ve a la sección Apariencia > Widgets.
Aquí todo sigue igual, salvo un pequeño pero importante detalle: en la parte inferior de cada widget, el plugin ha añadido un campo de inserción de texto llamado «Condiciones del widget».
En este campo insertaremos en el paso 4 un código que va a servir para asignar cada widget a un determinado idioma.
3.
Añade, para cada widget que quieras traducir, un widget nuevo traducido en cada idioma.
Para ello, copia y pega en el widget nuevo todo el contenido que tenías en el widget antiguo y traduce las partes de texto, es decir, todo lo que no sea código. De este modo, tendrás el widget original en el idioma original, y justo debajo colocas el widget nuevo, basado en el widget original pero con el contenido traducido. Haremos esto para cada idioma que queramos añadir.
4.
En el widget traducido, ve al campo «Condiciones del widget» y añade el código que te daré a continuación.
Por ejemplo, si lo que quieres es que este widget sea un widget en inglés, es decir, que se muestre únicamente cuando navegas en tu web en idioma inglés, introduce el código ICL_LANGUAGE_CODE == ‘en’. Si es para otro idioma, cambia el ‘en’ por la expresión propia del idioma en que estés traduciendo la web. Para español es ‘es’, para francés ‘fr’, para italiano ‘it’, etc…
Nota: Puedes consultar aquí el listado completo de códigos de idiomas que funcionan con el plugin WPML.
Ejemplo:
Voy a ponerte un ejemplo práctico para que lo veas con total claridad. Voy a traducir al inglés el widget que tengo aquí en mi web justo en la barra lateral de la derecha con el icono de Twitter, la leyenda Sígueme en Twitter y mi usuario:
Este es el widget original en español tal y como lo tengo en Apariencia > widgets. Como ves, se trata de un widget de texto con un poco de código html y css:
A continuación arrastro a mi Main Sidebar un nuevo widget de texto vacío y lo coloco justo debajo del widget en español. Dentro de este nuevo widget copio y pego todo el texto del widget original en español que ves arriba y posteriormente traduzco las partes de texto traducible que no son código. Es decir, en este caso únicamente el título: «Follow me on Twitter». Una vez traducidos los textos de este widget de texto nuevo, voy a la parte inferior y en el campo «Condiciones del widget» introduzco el código ICL_LANGUAGE_CODE == ‘en’. Este es el modo en que queda el widget traducido al inglés con el código insertado:
Y con esto ya lo tenemos. Gracias a la inserción de este código, WordPress entiende que cuando estamos navegando en la versión en español de la web debe mostrar el primer widget por defecto, mientras que cuando lo hacemos en la versión en inglés, mostrará el segundo widget que está traducido al inglés.
Aquí el resultado 😉
Sobre el autor de este sitio
Soy Ernesto G Bustamante, Desarrollador Web, Diseñador WordPress y especialista en posicionamiento SEO, Marketing de Contenidos, Conversión y Copywriting.
Llevo 15 años diseñando páginas web y posicionando proyectos en Google. En la actualidad, imparto clases en el Máster de Marketing Digital de Aula CM.

Hola Ernesto,
gracias por tu explicación me ha sido de gran ayuda. Todavía quería preguntarte algo: porque a mí no me sale el codigo html y ccs debajo de cada texto?
A mi solo me sale el texto y debajo «condiciones del widget».
He intentado desplegarlo pero no se puede.
No me da ningun codigo.
Si tu sabes la solución te estaria muy agradecida si me ayudaras. 🙂
Muchas gracias
Monica
Hola Mónica,
el código HTML debes incluirlo tú misma, insertándolo dentro de la caja de texto. El plugin sirve para que en función del idioma se muestre un contenido u otro, pero el contenido debe crearlo el usuario.
Saludos 😉
Hola Ernesto,
Estoy teniendo bastantes problemas con este plugin, no sé porque realmente. He intentado usar el plugin con diferentes códigos que he visto, desde los del propio plugin a otros de otros tutoriales, pero a mi particularmente no me funciona.
El problema que tengo es que pongo tu código y desaparecen todos los widgets de la página home. No aparecen en ningún idioma.
Paralelamente estoy usando WPML para traducir el resto de la web, pero hasta en su web dicen de usar widget logic para los widgets.
No entiendo que debe estar pasando.
Muchas gracias por adelantado y feliz año!
Encontré el error. En tu código, en el apartado de idioma (en, es…) están mal las comillas. Es una tontería, pero a mi me ha funcionado poniéndolas «rectas.»
gracias!
Hola Héctor,
gracias por avisar. Tengo otro post donde me sucedía lo mismo. Parece que al copiar y pegar no me respetó el formato exacto.
Saludos
Hola Ernesto, que tal? Tengo un problema en mi web de real state, intento traducir un widget que trae el tema que trata del buscador de inmuebles, los detalles del inmueble me salen en ingles y necesito que salga en español, ya que mi web es solo para publico de habla hispana. Intente usando ICL_LANGUAGE_CODE == ‘es’ pero cuando lo coloco mi widget desaparece.
Hola Carlos,
para que funcione, debes instalar el plugin WPML e indicar que en tu web hay dos idiomas: español e inglés.
Saludos
Hola! Esto es un artículo útil , gracias por esta información . También puede tratar de traducir su blog de WordPress o sitio con una plataforma de localización de software . https://poeditor.com/ es una buena solución , tiene una sencilla de usar interfaz de trabajo.
Gracias por comentar, David,
la herramienta Poedit es una excelente alternativa y además permite traducir la web de manera sencilla y ahorrándote un plugin:
https://poedit.net/
Saludos
[…] Para obtener más información sobre las funciones de selección de idiomas de WPML, véase la página WPML Coding API. En cuanto a las instrucciones necesarias para añadir esta función a los widgets de WordPress, véase el tutorial Howto Display Different Widgets Per Language; también es recomendable consultar las páginas de FAQ y Other Notes del plugin Widget Logic. Un tutorial muy recomendable y en español para aprender a utilizar la combinación de WPML y Widget Logic puede leerse en Tutorial WordPress: cómo traducir widgets en 4 pasos sencillos. […]
Increíble Ernesto! muy bien explicado y con la corección de las «comillas rectas» ya todo funciona perfectamente.
Muchas gracias por tu aporte!!
Saludos
Genial Ernesto,
Gracias por la info, desconocia el plugin. Me ha sido de gran ayuda.
¡Un saludo!
Genial Cristian,
me alegro de que te haya servido 😉
Alguna opción compatible con POlyland que no sea el plugin WPLM porque es de renovación anual, para cambiar el logo en el header según el idioma