Saltar al contenido Saltar a la barra lateral

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.

Sun Mon Tue Wed Thu Fri Sat
- 8:00 – 17:00 8:00 – 17:00 8:00 – 17:00 8:00 – 17:00 8:00 – 17:00 -
- - - - - - -

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

Etiquetado: 

Este tema contiene 52 respuestas, tiene 0 voices.

Última actualización por Paola Mendiburu hace 2 días.

Asistido por: Paola Mendiburu.

Autor Publicaciones
octubre 20, 2025 a las 11:21 am #17499104

Paola Mendiburu
Partidario de WPML desde 11/2020

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

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

Lo he vuelto a pasar al segundo nivel.

Te aviso en cuanto tenga noticias.

octubre 28, 2025 a las 8:44 am #17524857

inigoC-2

Buenos días, tenéis alguna notifica acerca de esto?

Gracias

octubre 28, 2025 a las 3:06 pm #17526656

Paola Mendiburu
Partidario de WPML desde 11/2020

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

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

He vuelto a preguntar al segundo nivel sobre noticias.

Te aviso en cuanto tenga noticias.

De momento el workaround es usar la opción de Duplicate ya que de esa manera funciona correctamente.

octubre 30, 2025 a las 8:47 am #17531588

Paola Mendiburu
Partidario de WPML desde 11/2020

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

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

Hola!

He revisado el caso con mis compañeros de segundo nivel, y parece que el problema no está directamente relacionado con WPML, sino con un sistema de caché muy fuerte a nivel de servidor.

Nos comentan que incluso haciendo cambios en archivos como wp-config.php, estos no se reflejan en el sitio, lo que sugiere que podría haber algún tipo de caché del servidor.

¿Podrías, por favor, confirmar qué tipo de caché tiene actualmente activado en el servidor y si sería posible vaciarla o desactivarla temporalmente para que podamos hacer unas pruebas?

Con esa información podremos seguir investigando y avanzar hacia una solución.

octubre 30, 2025 a las 10:11 am #17531935

inigoC-2

Buenas,

He pedido a sistemas que nos confirmen si tenemos algún tipo de caché activa en el servidor.

Por otro lado, ¿podéis indicarnos qué prueba hicisteis exactamente?

Yo añadí un error_log en el archivo wp-config.php y el cambio se reflejó inmediatamente al acceder al WordPress.

¿Podéis comentarnos el ejemplo concreto que utilizasteis para verificar la existencia de ese “sistema de caché fuerte”?

Gracias,
Saludos

octubre 30, 2025 a las 10:22 am #17532017

Paola Mendiburu
Partidario de WPML desde 11/2020

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

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

Esto es lo que me comentan del segundo nivel:
The error logging is not working. If I add this line error_log('testing log' . __FILE__ . __LINE__); in wp-config.php I don't see this log anywhere. Tried different setting for logging but no file is created or appended.

octubre 30, 2025 a las 10:40 am #17532058

inigoC-2

Los errores se pintan en ~/logs/precms_inithealth_com.php.error.log
He agregado el log que comentáis error_log('testing log' . __FILE__ . __LINE__);

Y se pinta inmediatamente:
"testing log/home/precmsinithealth/public_html/wp-config.php109"

Saludos

octubre 30, 2025 a las 2:53 pm #17533225

Paola Mendiburu
Partidario de WPML desde 11/2020

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

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

Ok, puedes borrar el cache por parte del servidor también?

noviembre 3, 2025 a las 6:41 am #17539473

inigoC-2

Buenas,

Me confirman desde sistemas que han desactivado la cache del servidor

Comentadnos cualquier cosa por favor

Gracias,
Saludos

noviembre 3, 2025 a las 8:43 am #17539724

Paola Mendiburu
Partidario de WPML desde 11/2020

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

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

Ok perfecto!

Lo trasmito para que sigan investigando.

noviembre 3, 2025 a las 1:37 pm #17541404

Paola Mendiburu
Partidario de WPML desde 11/2020

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

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

Nuestro segundo nivel necesita revisar los registros del servidor para poder continuar con la investigación. Nos indican que no tenemos acceso al directorio donde se encuentran los logs (~/logs/precms_inithealth_com.php.error.log).

¿Podrías por favor hacer una de estas dos cosas?

- Habilitar el WP debug log para que los registros se guarden en el directorio wp-content, o

- Darnos acceso al directorio donde se encuentran actualmente los logs.

Con esa información podremos seguir con la revisión del problema.

noviembre 10, 2025 a las 6:19 am #17560703

inigoC-2

Buenos dias,

Estamos intentando habilitar los logs, os aviso cuando los tengamos.

Lo comento porque nos ha llegado la notificación que el hilo se cerrará pronto.

Gracias,
Saludos

noviembre 10, 2025 a las 9:54 am #17561188

Paola Mendiburu
Partidario de WPML desde 11/2020

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

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

Hola!

El problema lo siguen investigando nuestros desarrolladores.

Tu sitio tiene una política de seguridad “no-referer”, lo que impide que el navegador envíe la cabecera HTTP_REFERER. WPML necesita esta información para detectar si una solicitud proviene del backend o del frontend.
Cuando esta cabecera no está disponible, WPML asume que se trata de una solicitud del frontend y crea un nuevo ID de traducción (TRID) en lugar de conectar correctamente la traducción existente.

Nuestros desarrolladores han podido reproducir el mismo problema en una instalación limpia eliminando el HTTP_REFERER, por lo que el origen del error está directamente relacionado con esta configuración.

También han probado una solución temporal, que funciona únicamente con WordPress 6.7 o superior, ya que utiliza un nuevo filtro de Gutenberg que no está disponible en tu versión actual (6.4).

Dime si actualizas a la versión 6.7 para poder pasarte el workaround.

noviembre 11, 2025 a las 9:49 am #17565565

inigoC-2

Buenas,

Hemos actualizado la version de WordPress a la ultima version, 6.8.3. ¿En que consiste el workaround?

Por otro lado también estamos investigando el tema de la cabecera HTTP_REFERER

Gracias
Saludos

noviembre 11, 2025 a las 10:36 am #17565764

Paola Mendiburu
Partidario de WPML desde 11/2020

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

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

Este es el workaround que me han indicado:

Por favor, sigue estos pasos:

1. Añade este código en el archivo functions.php de tu tema activo:

add_action( 'admin_head', function() {
	$screen = get_current_screen();

	if ( $screen->base === 'post' ) {
		?>
		<script>
			// WPML patch - wpmldev-5955
			if ( typeof wp?.hooks?.addFilter === 'function' ) {
				wp.hooks.addFilter('editor.preSavePost', 'WPML', edits => {
					edits.fromBackend = true;
					return edits;
				});
			}
		</script>
		<?php
	}
} );

2. Luego, abre este archivo dentro del plugin WPML: wp-content/plugins/sitepress-multilingual-cms/classes/url-handling/class-wpml-url-http-referer.php
Dentro de ese archivo encontrarás la clase WPML_URL_HTTP_Referer, y allí la función:

public static function is_post_edit_page() {
	return isset( $_SERVER['HTTP_REFERER'] )
		   && ( strpos( $_SERVER['HTTP_REFERER'], 'wp-admin/post.php' )
				|| strpos( $_SERVER['HTTP_REFERER'], 'wp-admin/post-new.php' )
				|| strpos( $_SERVER['HTTP_REFERER'], 'wp-admin/edit.php' ) );
}

Reemplázala por este nuevo código:

public static function is_post_edit_page() {
	if ( ! isset( $_SERVER['HTTP_REFERER'] ) ) {
		$requestBody = json_decode( rest_get_server()->get_raw_data() );
		return is_object( $requestBody ) && ! empty( $requestBody->fromBackend );
	}

	return isset( $_SERVER['HTTP_REFERER'] )
		   && ( strpos( $_SERVER['HTTP_REFERER'], 'wp-admin/post.php' )
				|| strpos( $_SERVER['HTTP_REFERER'], 'wp-admin/post-new.php' )
				|| strpos( $_SERVER['HTTP_REFERER'], 'wp-admin/edit.php' ) );
}

Con este ajuste, se añade una variable en la petición para que WPML pueda identificar correctamente cuándo la acción proviene del backend, incluso si el servidor no envía el valor HTTP_REFERER.