Saltar navegación

Este hilo está resuelto. Aquí tienes una descripción del problema y la solución.

Problem:
Si estás intentando mostrar campos personalizados en tu página de producto y notas que la traducción funciona en productos antiguos pero no en los nuevos, es posible que parte de la cadena se traduzca, pero no el valor.
Solution:
Te recomendamos seguir estos pasos para resolver el problema:
1. Edita el producto que no se traduce correctamente.
2. Realiza un pequeño cambio en el contenido del producto.
3. Guarda los cambios.
4. Actualiza la traducción en el panel de WPML.
5. Verifica si el problema persiste.
Si después de seguir estos pasos el problema continúa, es posible que la solución aquí presentada no sea relevante debido a que puede estar desactualizada o no aplicarse a tu caso específico. Te recomendamos abrir un nuevo ticket de soporte si esto ocurre. Además, te sugerimos revisar los problemas conocidos relacionados, verificar la versión del arreglo permanente y confirmar que tienes instaladas las últimas versiones de los temas y plugins. Para asistencia adicional, puedes visitar nuestro foro de soporte.

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 5 respuestas, tiene 2 voces.

Última actualización por Carlos Rojas hace 1 mes.

Asistido por: Carlos Rojas.

Autor Entradas
octubre 25, 2024 en 9:46 am #16329976

pabloM-23

Antecedentes del problema:
Estoy intentando mostrar campos personalizados dentro de mi página de producto usando una acción en el functions.php. Verán que es el único texto que aparece debajo del título del producto, 5 líneas sobre las características. En los productos que tenía subidos, la traducción funciona perfectamente: enlace oculto. Pero en los nuevos productos que subo, esto no se traduce: enlace oculto.

Síntomas:
La traducción de los campos personalizados funciona en productos antiguos pero no en los nuevos. Parte de la cadena se traduce, pero no el valor. He revisado el String Translation y todo está traducido.

Preguntas:
¿Por qué la traducción funciona en productos antiguos pero no en los nuevos?
¿Qué puedo revisar para asegurarme de que los valores de los campos personalizados se traduzcan correctamente?

octubre 25, 2024 en 11:11 am #16330316

Carlos Rojas
Supporter

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

Zona horaria: Europe/Madrid (GMT+01:00)

Hola,
Muchas gracias por contactarnos

1.- Te pido que realices los siguientes pasos para comprobar el resultado:
- Edita el producto enlace oculto
- Realiza un pequeño cambio en el contenido
- Guarda los cambios
- Actualiza la traducción
- Comprueba si el problema apareció en enlace oculto

Puedes decirme el resultado de los pasos anteriores?

2.- También te pido que compartas el código en el archivo functions.php para imprimir estos campos personalizados.

Quedo a la espera de tu respuesta.
Saludos,
Carlos

octubre 25, 2024 en 7:11 pm #16332042

pabloM-23

Hola.

1. No ha funcionado. Sin embargo he encontrado un producto que sí está traducido:
enlace oculto
Y en principio he seguido el mismo proceso de alta y traducción de productos en todos.
Este producto estaba traducido antes del 1º mensaje, o sea, no es que se haya traducido tras aplicar el método que me propones.

El resultado es que sigue igual, sin realizarse la traducción de cadenas de campos personalizados que sí lo están.

2. Claro, aquí va:

add_action( 'woocommerce_single_product_summary', "acf_producto", 15 );
function acf_producto(){

if (function_exists('get_field')){

$pielLabel = esc_html__( 'Piel', 'salient-child' );
$acabadoLabel = esc_html__( 'Acabado', 'salient-child' );
$medidasLabel = esc_html__( 'Medidas', 'salient-child' );
$grosorLabel = esc_html__( 'Grosor', 'salient-child' );
$coleccionLabel = esc_html__( 'Colección', 'salient-child' );

echo "<p class='caracteristicas'>".$pielLabel.": ". get_field('piel')."<br>";
$acabados = get_field( 'acabado' );
echo "".$acabadoLabel.": ".implode( ', ', $acabados )."<br>";
echo "".$medidasLabel.": ". get_field('medidas')."<br>";
echo "".$grosorLabel.": ". get_field('grosor')."<br>";
echo "".$coleccionLabel.": ". get_field('coleccion')."</p>";
}
}

No sé si tendrá algo que ver con que no he seleccionado que sean Traducciones independientes. Aunque he probado hacerlo en un producto y tampoco ha servido de nada...

Gracias!

octubre 25, 2024 en 7:13 pm #16332045

pabloM-23

Aquí adjunto una captura de como tengo configurado uno de los campos personalizados. Por si es de utilidad. Si quiere le puedo dar acceso al panel.
Saludos.

Captura de pantalla 2024-10-25 a les 21.12.35.png
octubre 25, 2024 en 7:42 pm #16332104

pabloM-23

ya está solucionado!

Tenía que actualizar una por una en el panel de traduccion de wpml.

Gracias por todo y buen fin de semana.

octubre 28, 2024 en 8:19 am #16336211

Carlos Rojas
Supporter

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

Zona horaria: Europe/Madrid (GMT+01:00)

Genial! Me alegra saber que el problema se ha resuelto 🙂

Por favor no dude en contactarnos si necesita de nuestra asistencia en el futuro con WPML. Estaremos más que contento de poder ayudarle.

Tenga un excelente día!