[Resuelto] Error en la sincronicidad de las traducciones de páginas y entradas
Este hilo está resuelto. Aquí tienes una descripción del problema y la solución.
Problema: El cliente está enfrentando un problema de sincronicidad en las traducciones de páginas y entradas, manifestándose como un error fatal debido a la falta de una entrada de traducción en las tablas de WPML. Además, se identificaron problemas en otras tablas de WordPress necesarias para el funcionamiento del sitio. Solución: Después de analizar el problema, determinamos que afecta más allá de las tablas de WPML. Las tablas 'posts' y 'options' carecen de auto-incremento, y las tablas 'users' y 'postmeta' también presentan fallos. Estos problemas exceden el alcance del soporte de WPML. Recomendamos restaurar una copia de seguridad de tu sitio anterior a la fecha **2024-11-18 16:02:27**, que es cuando probablemente comenzaron los problemas.
Si esta solución no es relevante para tu caso, o si el problema persiste, te recomendamos abrir un nuevo ticket de soporte. También es aconsejable revisar los problemas conocidos y asegurarte de que tienes instaladas las últimas versiones de los temas y plugins. Para más asistencia, visita 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.
Antecedentes del problema:
Estoy intentando resolver un problema de sincronicidad de las traducciones de páginas y entradas. He solicitado reabrir un hilo anterior. El problema se puede ver en el siguiente enlace: enlace oculto
Síntomas:
Error fatal: Uncaught InvalidArgumentException: No translation entry found for query: s:42:" element_id = %d AND element_type LIKE %s ";a:2:{i:0;s:5:"15638";i:1;s:5:"post%";} en /srv/vhost/theanchorage.es/home/html/wp-content/plugins/sitepress-multilingual-cms/classes/records/class-wpml-tm-icl-translations.php:193
Preguntas:
¿Pueden ayudarme a resolver el error de sincronicidad de las traducciones?
¿Es posible reabrir el hilo anterior para continuar con la asistencia?
Hola, pude resolver el problema en una copia que descargué de tu sitio web. Asegúrate de tener una copia de seguridad antes de proceder.
1. Accede al editor de base de datos de tu sitio;
2. Ejecuta el siguiente comando:
DELETE FROM `wp_icl_translations` WHERE `translation_id` = 0 AND `element_type` LIKE 'post%';
3. Revisa nuevamente el sitio web.
Ten en cuenta que el prefijo "wp_" puede ser diferente en tu sitio. Sustitúyelo por el que utilices, si es necesario. Avísame si esto resuelve tu problema.
El listado de páginas se ve correctamente, puedo acceder a los duplicados en inglés y en alemán.
En cambio, el problema en el listado de entradas no se ha resuelto. He probado de acceder desde el listado de entradas en español, que son las originales y, desde allí, he accedido a los duplicados en inglés, por probar, y en cualquier post, puedo entrar pero veo que no interpreta bien la maqueta, muestra la información como texto, sin la plantilla creada con el constructor (wp-baquery).
Y cuan do intento imprimir cualquier post, sale una página de error (adjunto imagen).
Disculpa, he vuelto a realizar la consulta sql y esta vez, ha funcionado también en el listado de entradas.
El problema está resuelto. No obstante, si puedo no cerrar este hilo al menos, durante 48 horas y, si no hay más incidencias, cerraré yo mismo lo cerraré.
Me alegra que el problema se haya solucionado. Como la base de datos fue modificada por un plugin externo, es recomendable que sigamos monitoreando el problema. El ticket permanecerá abierto durante 14 días más.
El problema es persistente. Estaba trabajando en una página y de repente saltó el error faltal.
Cuando he ido a entrar en el listado de páginas, he visto que salía de nuevo el error fatal en mitad de la lista.
He comprobado si el error salía en los demás idiomas y aparecían. Luego, he ido al listado de entradas y el que fallaba era el listado en inglés, el español y el alemán si estaban correctamente.
He restaurado la última copia de seguridad y el problema de nuevo se ha resuelto.
Aunque más tarde, el error a vuelto a saltar en una de las páginas que estaba trabajando. He notado también que el trabajo iba muy lento, como si le costara procesar la información, de hecho, antes de salir el error fatal en la parte inferior del backend del la página, la conexión ha fallado varias veces.
Curiosamente estaba trabajando en una página, "Equipo" y al restaurar el backup, y parecer que el problema se resuelve, me he dado cuenta que faltaba del listado esa página en concreto.
En ese momento, he realizado la consulta sql
DELETE FROM `wp_icl_translations` WHERE `translation_id` = 0 AND `element_type` LIKE 'post%';
Y he podido entrar en el backend de de la página, pero el error salía en la parte inferior de la página (adjunto imagen) y al intentar restaurar el guardado automático, sale la temida página en blanco con el mensaje de Error faltal.
Creo que he identificado el problema en el listado de páginas.
La página que da error sistemáticamente es "Equipo", porque cuando restauro el listado mediante la consulta sql, aparecen todas las páginas excepto esa.
Y en el listado de entradas, la entrada que está dando problemas es "Boletín The Anchorage invierno 2024", el post original es en español, con la traducción en alemán no hay problema.
Sin embargo, con la traducción en inglés, aparece otro post, llamado "Maintenance works", que pertenece a otra noticia origina en español, con sus respectivas traducciones.
Luego, la entrada "Trabajos de mantenimiento", en el listado en español, está sola, sin traducciones. Y en alemán esta entrada tampoco está.
Es como si se hubiesen cruzado traducciones y otras hubieran desaparecido y algunas se hayan desincronizado.
¿eliminando las páginas conflictivas y volviendo a crearlas, se podría solucionar el problema?
Gracias por esperar. Respondemos lo antes posible, dentro del plazo de 24 horas. Como tenemos mucha demanda, nos hemos demorado algunas horas en responder. Gracias por tu comprensión.
¿Eliminando las páginas conflictivas y recreándolas se podría solucionar el problema?
Es probable que sí. Como en tu caso la base de datos fue editada directamente, es difícil identificar exactamente la causa y los problemas generados. Te recomiendo lo siguiente: elimina todas las páginas que están generando conflictos, junto con sus traducciones. Es importante eliminarlas completamente, incluso de la papelera.
Puedes guardar el contenido en algún lugar para no tener que recrearlo desde cero. Después de eso, ejecuta nuevamente el script que te envié:
DELETE FROM `wp_icl_translations` WHERE `translation_id` = 0 AND `element_type` LIKE 'post%';
Dime cuál fue el resultado. Si el problema persiste, investigaré más a fondo.
Muchas gracias por contestar y entiendo que estéis liados.
Mañana eliminaré las páginas y entradas conflictivas. Pero una cosa me preocupa, y es no poder acceder a un CPT del Theme llamado Teams.
Lo digo porque, cada vez que intento crear un nuevo team, la página se va a blanco con un mensaje Gateway Time out, puedo ver el listado, puedo entrar en cada uno de los items, pero no puedo crear nuevos. Me sale el mismo mensaje de error.
Además, es en la página de equipo, que es la que contiene todos los items de Teams, la que no funciona.
No se si tendrá algo que ver, pero para que lo tengas en cuenta.
Me parece que estos otros problemas no están relacionados con WPML. Puedes confirmarlo desactivando a WPML y testando nuevamente. Si el comportamiento es el mismo, no tiene nada que ver con WPML.
Desactivando WPML puedo crear un nuevo post y un nuevo Team, aunque en ambos casos, no puedo adjuntar imagen destacada.
Por ejemplo: creo un nuevo post y le pongo de título "prueba"*:
1º El post ya nace publicado, sin pasar por borrador.
2º el slug aparece maintenance-works.
(*) slug-configurado, toma como referencia un post ya creado.
Activando WPML puedo crear un nuevo post, sale error al igual que con Team.
En conclusión, el error persistente tiene que ver con WPML y también con la plantilla.
No he probado a eliminar las páginas y entradas conflictivas porque, cada vez que salta el error fatal, afecta aleatoriamente a cualquier post o entrada.