Una tienda multilingüe mostraba correctamente productos y páginas, pero el lateral seguía enseñando «Búsqueda de productos», «Categorías» y «Últimas entradas» en español. Los enlaces legales del pie también apuntaban siempre a las mismas URLs. El usuario no podía resolverlo desde Traducción de cadenas.
Por qué algunos textos no aparecen en WPML
Un texto visible puede proceder de la base de datos, del tema, de un widget clásico, de un plugin o de código generado en tiempo de ejecución. WPML solo puede ofrecer una traducción editable cuando la cadena se registra de una forma que reconoce.
En este caso los títulos llegaban a través del filtro de widgets y los enlaces se habían añadido como HTML. Esperar a que aparecieran en el panel no iba a resolverlo.
La solución basada en el idioma activo
Preparé un pequeño módulo que consulta el idioma actual de WPML y transforma únicamente los títulos conocidos. Para cada idioma devuelve el texto correspondiente. El mismo criterio se aplicó a los enlaces legales, seleccionando etiqueta y URL traducida.
La solución no modifica el contenido principal ni intenta traducir cualquier texto de forma global. Actúa sobre elementos concretos y controlados.
Detalles importantes
- Utilizar códigos de idioma reales de la instalación.
- Escapar etiquetas y URLs antes de imprimirlas.
- Conservar un idioma predeterminado si aparece uno no previsto.
- No comparar cadenas modificadas por espacios o iconos sin normalizarlas.
- Probar categorías, buscador y últimas entradas en todas las plantillas.
Cuándo registrar cadenas y cuándo usar código
Si el cliente necesita editar la traducción con frecuencia, prefiero registrar la cadena correctamente en WPML. Para un conjunto pequeño de etiquetas estructurales y estables, una función bien documentada puede ser más sencilla y fiable.
La traducción incluye también el destino
No basta con cambiar «Aviso legal» por «Legal notice» si el enlace continúa abriendo la versión española. Cada elemento debe combinar texto, URL, atributos y, cuando corresponde, idioma de destino.
