[Resuelto] Fatal error en woocommerce multilingual
Este hilo está resuelto. Aquí tienes una descripción del problema y la solución.
Problema: Si estás intentando traducir un producto al inglés y catalán y recibes un error crítico que dice "Ha habido un error crítico en esta web", y en el debug.log aparece un mensaje de 'TypeError' relacionado con 'array_filter()' y 'woocommerce-multilingual'. Solución: El problema puede ser causado por meta_keys incorrectas en la base de datos para algunas variaciones de productos. Para resolverlo, sigue estos pasos: 1. Accede a la base de datos de tu sitio web (puedes usar herramientas como Adminer o PHPMyAdmin). 2. Ejecuta la siguiente consulta SQL, reemplazando '76' con los IDs de las variantes de productos afectadas:
SELECT *<br />FROM wp_postmeta<br />WHERE post_id IN (SELECT ID FROM wp_posts WHERE post_parent = '76' AND post_type = 'product_variation')<br />AND meta_key LIKE "producto_aviso"
3. Elimina los post_meta que devuelve la consulta. Después de realizar estos pasos, verifica si el problema se ha resuelto. Si esta solución no parece relevante o si continúas teniendo problemas, por favor, abre un nuevo ticket 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.
Hola,
Muchas gracias por compartir el resultado de estos pasos
He escalado este ticket a nuestr 2do nivel de soporte para que nuestros especialistas de 2donivel revisen el problema con mayor profundidad e intenten aislar la causa del problema. Como no he podido crear una copia del sitio staging le pido que no modifique/elimine el sitio staging para que le permita a nuestros especialistas realizar las pruebas necesarias.
Le mantendré al tanto de la evolución de este ticket.
Muchas gracias por su paciencia y comprensión!
La causa del problema es que algunas variaciones de los productos (variables) contienen un meta_key en la base de datos llamada 'producto_aviso'. Eliminando esta incorrecta meta_key resuelve el problema.
Nuestros especialistas han desarrollado el siguiente workaround para solucionar el problema en el sitio:
- Acceda a la base de datos del sitio (puede utilizar el plugin Adminer o PHPMyAdmin)
- Ejecute la siguiente consulta:
SELECT *
FROM wp_postmeta
WHERE post_id IN (SELECT ID FROM wp_posts WHERE post_parent = '76' AND post_type = 'product_variation')
AND meta_key LIKE "producto_aviso"
(debe hacerlo para los IDs de las variantes de productos)
- La consulta anterior devolverá una serie de post_meta que debe eliminar y el problema desaparecerá
Puede confirmar que el problema se ha resuelto?
Saludos!
Justamente era lo que necesitaba, el fix ha solucionado el problema perfectamente y ya puedo trabajar con los productos. ¿Crees que podrías decirme qué ha motivado el fallo? Una actualización? una pelea entre los plugins?