Saltar navegación

Este es el foro de soporte técnico de WPML, el plugin multilingüe de WordPress.

Todas las personas pueden leerlo pero solo los clientes de WPML pueden ingresar comentarios. El equipo de WPML responde en los foros 6 días a la semana, 22 horas por día.

Etiquetado: 

Este tema contiene 9 respuestas, tiene 0 voces.

Última actualización por Otto hace 1 semana, 2 días.

Asistido por: Otto.

Autor Entradas
Abril 25, 2025 en 4:41 pm #16969477

reyD

Antecedentes del problema:
I am trying to resolve a compatibility issue between WPML and our theme, Shoptimizer, regarding featured product shortcodes. On our multilingual site, only the default language (Canadian English) correctly renders product shortcodes like [product id="7366"]. In secondary languages (UK, Australia, NZ, etc.), the featured products do not display. Our website is: enlace oculto. We do not translate products for secondary markets, as the content is identical, and only the currency changes via WPML’s multicurrency feature. Shoptimizer’s featured product sections rely on [product id=""] shortcodes, which fail to render if the product ID isn’t recognized in that language version. This results in blank sections on translated versions of the homepage. We’ve tested with the Storefront theme, and everything renders correctly there, so the issue seems tied to Shoptimizer’s shortcode handling in a multilingual context. The theme developers suggested reviewing this WPML documentation: https://wpml.org/documentation/support/language-configuration-files/translate-custom-shortcodes-with-wpml/, but this did not work.

Síntomas:
In secondary language versions, the featured products are not displayed at all, resulting in blank sections on translated versions of the homepage.

Preguntas:
How can I make shortcodes render the same product in untranslated languages without duplicating the product catalog?

Abril 25, 2025 en 6:54 pm #16969780

Otto
Partidario de WPML desde 09/2015

Idiomas: Inglés (English ) Español (Español )

Zona horaria: America/Argentina/Buenos_Aires (GMT-03:00)

Hola,

No estoy seguro que la funcionalidad que necesitas esté disponible. Es un comportamiento algo particular.

Pero te sugiero que pruebes esto:
Activar el mecanismo de fallback de WPML para productos:

  • Ve a WPML → Ajustes.
  • En Traducción de tipos de contenido, configura Productos como Traducible – usar traducción si está disponible o recurrir al idioma predeterminado.

Puede que en ese caso el shortcode del tema funcione como necesitas.

Saludos cordiales,
Otto

Abril 25, 2025 en 7:42 pm #16969840

reyD

Hola Otto,

Gracias por tu respuesta.

Te confirmo que ya tenemos activada la funcionalidad que mencionás. En todo nuestro sitio usamos el mecanismo de fallback de WPML para evitar la duplicación de productos, y por eso configuramos los productos como:

"Traducible – usar traducción si está disponible o recurrir al idioma predeterminado."

Lamentablemente, aunque esta configuración funciona correctamente en la mayoría de las secciones, seguimos teniendo problemas puntuales con los shortcodes del tema Shoptimizer en los idiomas secundarios. Específicamente, los productos destacados referenciados con [product id=""] no se muestran si el idioma no es el predeterminado.

Para que puedas ver el comportamiento exacto, te comparto dos videos explicativos:

🔹 En este primer video mostramos que, usando el tema Storefront, todo funciona correctamente, tanto en el idioma principal como en los secundarios (aunque sin imágenes):

enlace oculto

🔹 En este segundo video se muestra el problema real tal como ocurre en nuestro sitio en producción con Shoptimizer:

enlace oculto

Apreciamos mucho cualquier orientación adicional que puedas brindarnos. Nuestro objetivo es mantener una sola versión de cada producto, usando WPML para manejar los cambios de divisa, sin tener que duplicarlos y correr el riesgo de stocks desincronizados.

Saludos cordiales,

Abril 25, 2025 en 8:11 pm #16969874

Otto
Partidario de WPML desde 09/2015

Idiomas: Inglés (English ) Español (Español )

Zona horaria: America/Argentina/Buenos_Aires (GMT-03:00)

Hola,

Con gusto intento encontrar una solución. Para poder investigar necesitamos replicar el problema en una instalación de cero.
He creado una instalación limpia de WordPress con WooCommerce, WPML y todos los complementos necesarios.
Puedes acceder al panel de WordPress usando el siguiente enlace:
enlace oculto

Por favor, sigue los siguientes pasos:
- No restaures tu sitio allí.
- Instala Shoptimizer y configura
- Intenta replicar el problema con los pasos mínimos.
- Luego, déjame saber los pasos para ver el problema y reproducirlo.

Saludos cordiales,
Otto

Abril 25, 2025 en 8:53 pm #16969950

reyD

Hola Otto,

Gracias por tu pronta respuesta y por facilitarnos el entorno de prueba.

Ya realicé la configuración mínima necesaria en la instalación que nos proporcionaste. Instalé y activé el tema Shoptimizer, configuré WPML con los idiomas Español y Chino, y agregué productos de prueba junto con los bloques de productos destacados en el menú (Men y Women) tal como lo tenemos en nuestro sitio.

Además, en todos los casos configuré los productos en "Traducible – usar traducción si está disponible o recurrir al idioma predeterminado" desde WPML → Ajustes → Traducción de tipos de contenido, para asegurar que se active el mecanismo de fallback al idioma original.

Podrás notar lo siguiente:

En la versión English (idioma predeterminado), los enlaces de productos destacados en el menú funcionan correctamente. Al hacer clic, redirigen al producto.

Sin embargo, al cambiar al idioma Español o Chino, los productos destacados del menú dejan de ser clickeables y no redirigen a ningún lugar.

Esto replica exactamente el problema que enfrentamos en producción. Adjunto tambien imagenes de ambos casos.

Quedo atento a tus comentarios y cualquier paso adicional que necesites que realicemos.

Saludos cordiales,

SecondaryLanguageIssue.jpg
PrimaryLanguageOK.jpg
Abril 28, 2025 en 1:07 pm #16974947

Otto
Partidario de WPML desde 09/2015

Idiomas: Inglés (English ) Español (Español )

Zona horaria: America/Argentina/Buenos_Aires (GMT-03:00)

Hola,

Gracias por la detallada explicación.

Yo creo que el problema está en la traducción del menú.

Te sugiero que utilices este método:
https://wpml.org/documentation/getting-started-guide/translating-menus/#translating-menus-with-custom-links

Dime si funciona por favor.

Saludos cordiales,
Otto

Abril 28, 2025 en 8:35 pm #16976687

reyD

Hola Otto,

Gracias por tu sugerencia.

Revisando la sección de WPML → WP Menus Sync, puedo ver que la mayoría de los ítems de nuestros menús en idiomas secundarios aparecen como "Not translated" (adjunto captura de pantalla).

Esto incluye los productos destacados que usamos en el menú principal.
Dado que no duplicamos ni traducimos productos (usamos fallback al idioma original), no tenemos nuevas entradas de productos en otros idiomas, y por eso WPML no puede sincronizarlos en el menú.

¿Considerás que la solución en este caso sería crear manualmente los ítems de menú como enlaces personalizados (custom links), apuntando directamente a la URL del producto en el idioma principal?

Si es así, ¿hay alguna forma de automatizarlo o sincronizarlo más fácilmente, dado que tenemos muchos productos destacados y múltiples idiomas?

Quedo atento a tus comentarios.

Saludos,
Guido Beggino

Not Translated.jpg
Abril 28, 2025 en 9:00 pm #16976724

Otto
Partidario de WPML desde 09/2015

Idiomas: Inglés (English ) Español (Español )

Zona horaria: America/Argentina/Buenos_Aires (GMT-03:00)

Hola Guido,

Crear custom links y traducir los menús "manualmente" es una opción. Yo creo que del mismo modo deberías poder crear los shorcodes para cada menún en cada idioma.

En cuanto a la automatización, WPML copia la estructura del menú origional a los idiomas secundarios. Pero luego hay que editarlos manualmente. Lo mismo con los cambios en el futuro, tendrás que hacerlos para cada idioma.

Saludos cordiales,

Otto

mayo 5, 2025 en 1:14 pm #16996450
reyD

Hola Otto,

Conseguimos un gran avance con Shoptimizer y logramos resolver el problema del menú durante el fin de semana.

Sin embargo, estamos enfrentando un único inconveniente importante:
al traducir los productos con WPML, se generan nuevos Product IDs en lugar de mantenerse vinculados al producto original.
Esto rompe la sincronización de stock entre idiomas, lo cual es esencial para nuestro sitio.

¿Hay alguna forma de mantener el mismo Product ID al traducir, o asegurar que las traducciones permanezcan sincronizadas con el producto original?

¡Gracias de antemano!

Los hilos nuevos creados por Otto y vinculados a este se encuentran a continuación:

https://wpml.org/es/forums/topic/sincronizacion-de-stock-entre-idiomas-2/

mayo 5, 2025 en 3:43 pm #16997193

Otto
Partidario de WPML desde 09/2015

Idiomas: Inglés (English ) Español (Español )

Zona horaria: America/Argentina/Buenos_Aires (GMT-03:00)

Hola,

Me alegra que el problema esté solucionado. Cierro este ticket y para tu nueva pregunta seguimos aquí:
https://wpml.org/es/forums/topic/sincronizacion-de-stock-entre-idiomas-2/

Saludos cordiales,
Otto