Saltar navegación

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

Problema:
El cliente estaba utilizando Kadence Blocks/Theme con un formulario en un widget de pie de página, utilizando el placeholder {privacy_policy} para enlazar a la página de política de privacidad. Aunque la página de política de privacidad estaba traducida, el enlace siempre mostraba el título en el idioma predeterminado y no aparecía en la página de traducción de cadenas para su traducción.
Solución:
Primero, se recomendó seguir los pasos de la guía de traducción de cadenas para encontrar cadenas que no aparecen en la página de traducción (https://wpml.org/documentation/getting-started-guide/string-translation/finding-strings-that-dont-appear-on-the-string-translation-page/). Luego, se proporcionó un fragmento de código para agregar al archivo functions.php del tema activo, que asegura que WPML traduzca dinámicamente el enlace a la página de política de privacidad traducida:

/* Privacy link text translation */<br />add_filter( 'option_wp_page_for_privacy_policy', 'wpml_option_wp_page_for_privacy_policy' );<br />function wpml_option_wp_page_for_privacy_policy( $value ) {<br />    return apply_filters( 'wpml_object_id', $value, 'page', true );<br />}

Finalmente, el cliente optó por cambiar el placeholder {privacy_policy} por un enlace directo para evitar el problema y facilitar su traducción.

Si esta solución no resuelve tu problema o parece desactualizada, te recomendamos abrir un nuevo ticket de soporte. También es aconsejable revisar los problemas conocidos en https://wpml.org/known-issues/, verificar la versión de la solución permanente y confirmar que tienes instaladas las últimas versiones de temas y plugins.

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.

Este tema contiene 7 respuestas, tiene 0 voces.

Última actualización por Carlos Rojas hace 2 días, 13 horas.

Asistido por: Carlos Rojas.

Autor Entradas
marzo 16, 2025 en 1:28 pm #16821631

anaP-2

Antecedentes del problema:
I am trying to use Kadence Blocks/Theme with a form in a footer widget. I use {} to pull the link to the privacy policy page and the privacy policy placeholder in the field label: {privacy_policy}.

Síntomas:
The privacy policy link always displays the default language title, even though I've translated the privacy policy page. In string translation, I can translate 'I accept the' but 'privacy policy' does not appear. I've cleared the cache, but it does not work.

Preguntas:
Why does the privacy policy link always display the default language title?
How can I ensure the translated privacy policy page title is displayed dynamically?

marzo 17, 2025 en 9:44 am #16823684

Carlos Rojas
Supporter

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

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

Hola,
Muchas gracias por volver a contactarnos

Por favor sigue los pasos descritos en esta guía: https://wpml.org/documentation/getting-started-guide/string-translation/finding-strings-that-dont-appear-on-the-string-translation-page/ y comprueba si puede encontrar y traducir el enlace a la página de privacidad.

Hazme saber si necesitas más asistencia de nuestra parte.

Saludos,
Carlos

marzo 17, 2025 en 3:37 pm #16826126

anaP-2

Hola, Carlos,
Como te comentaba, lo que debería traducirse automáticamente es un placeholder:
{privacy_policy}

Adjunto imagen de como se inserta el palceholder en el formulario.

El problema es el mismo que aquí:

https://wpml.org/forums/topic/privacy-page-link-not-translated/

Los placeholders no deben traducirse en string translation page; deben mantenerse igual i wpml tiene que dinámicamente enlazar a la página de privacidad traducida.

Saludos,
Ana

Captura de pantalla 2025-03-17 a las 16.32.58.png
marzo 18, 2025 en 8:20 am #16828416

Carlos Rojas
Supporter

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

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

Hola Ana,
Muchas gracias por tu mensaje.

Por favor aplica este workaround y dime si el problema se resolvió:
- Pega el siguiente código en el archivo functions.php que se encuentra en la carpeta del tema activo:

/* Privacy link text translation */
add_filter( 'option_wp_page_for_privacy_policy', 'wpml_option_wp_page_for_privacy_policy' );
function wpml_option_wp_page_for_privacy_policy( $value ) {
    return apply_filters( 'wpml_object_id', $value, 'page', true );
}

- Luego comprueba si el problema desapareció

Quedo a la espera de tu respuesta.

marzo 19, 2025 en 7:23 am #16833460

anaP-2

Hola, Carlos,
Gracias por tu respuesta.
He aplicado el snippet pero no ha funcionado.
El enlace sigue mostrando el idioma original.

Ana

marzo 19, 2025 en 8:25 am #16833720

Carlos Rojas
Supporter

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

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

Hola Ana,

1.- Comparte un video mostrando los pasos a seguir para editar el bloque que contiene el enlace y cómo reproducir el video.

2.- Te pido que compartas las credenciales de acceso al sitio para que pueda revisar el problema más de cerca.

marzo 23, 2025 en 4:47 pm #16849048

anaP-2

Hola,
Finalmente he cambiado el placeholder {privacy_policy} por un enlace "a href "... para evitar el problema y poderlo traducir.
De esta forma he evitado el problema.
Con el snippet no se había resuelto.
Saludos,
Ana

marzo 24, 2025 en 9:11 am #16850442

Carlos Rojas
Supporter

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

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

Genial!
Me alegra saber que has encontrado una solución al problema.

Por favor no dudes en contactarnos si necesitas de nuestra asistencia en el futuro con WPML.
Que tengas un excelente día.