This is the technical support forum for WPML - the multilingual WordPress plugin.
Everyone can read, but only WPML clients can post here. WPML team is replying on the forum 6 days per week, 22 hours per day.
Our next available supporter will start replying to tickets in about 1.33 hours from now. Thank you for your understanding.
Sun | Mon | Tue | Wed | Thu | Fri | Sat |
---|---|---|---|---|---|---|
- | 8:00 – 15:00 | 8:00 – 15:00 | 8:00 – 15:00 | 8:00 – 15:00 | 8:00 – 15:00 | - |
- | 16:00 – 17:00 | 16:00 – 17:00 | 16:00 – 17:00 | 16:00 – 17:00 | 16:00 – 17:00 | - |
Supporter timezone: Europe/Rome (GMT+02:00)
This topic contains 7 replies, has 2 voices.
Last updated by Alejandro 2 months, 3 weeks ago.
Assisted by: Alejandro.
Author | Posts |
---|---|
July 5, 2024 at 11:01 am #15898068 | |
narcisoF |
Background of the issue: Symptoms: Questions: |
July 8, 2024 at 8:16 am #15910914 | |
Alejandro Supporter
Languages: English (English ) Spanish (Español ) Italian (Italiano ) Timezone: Europe/Rome (GMT+02:00) |
Hola! El problema se encuentra en que el link está dentro de un campo "clonar". haz hecho una prueba con un campo LINK directo en un field group y no a través de un campo CLONAR? solo para ver si en este caso funciona. Ves, el campo clonar es un poco particular ya que debería ser una referencia a otro field group pero a nivel de código actúa también como un campo propio y cuando eso sucede entonces todo el contenido dentro el campo clonar actúa con la preferencia de traducción que se ha hecho en el de clonar. El problema con eso es que el campo clonar debería tener siempre una preferencia de traducción "copia" y nunca "traducir" y eso a su vez puede crear problemas. -------------------- Te pido que hagas 2 tests: 1) Crea un campo "link" y agregalo a una página de test (una página nueva). El campo LINK debería estar como "copia". Luego agrega un link interno y uno externo en la página de test. El link externo debería aparecer en el editor de traducción. el interno no, pero debería traducirse si el link tiene una traducción. 2) Tener el modo "experto" no es siempre lo mejor, así que si puedes haz un sitio de staging y pruebaa cambiar a uno de los otros modos mencionados en esta guía y luego trata de hacer un cambio a la página que tiene el link y trata de traducirla de nuevo para saber si cambia algo. Avísame que tal te va. |
July 8, 2024 at 11:39 am #15912724 | |
narcisoF |
Hola Alejandro, Los dos tests que nos sugieres ya los realizamos en el otro día: 1 - Evidentemente funciona pero necesitamos que funcione dentro de un campo clonar. 2 - También lo hemos probado, de hecho el planteamiento inicial fué ese y luego probamos con el modo experto para intentar tener más control sobre cada campo. Se nos ocurre dos formas de intentar solucionarlo, te comentamos y nos das tu opinión bajo tu experiencia: 1 - Editar el wpml-config.xml para establecer el atributo translate_link_target en 1 para esos enlaces anidados en el campo clon (como se indica en esta guía https://wpml.org/documentation/support/language-configuration-files/custom-fields-translation-options/) ¿crees que esto podría ser una solución? ¿Podría facilitarnos alguna documentación más detallada para este caso concreto o un ejemplo de como quedaría el marcado de ese xml para este caso. 2 - Si la solución planteada en el punto 1 no es factible, hemos pensado en que tal vez podríamos traducir nosotros los enlaces programaticamente al recibir la traducción, pero para ello necesitaríamos saber si desde wpml se ofrece algún tipo de acción o filtro al que nos podamos enganchar al recibirla del servicio de traducción para así nosotros automatizar la traducción de esos enlaces con nuestro script. Quedamos a la espera de tu respuesta. Gracias |
July 8, 2024 at 2:00 pm #15913791 | |
Alejandro Supporter
Languages: English (English ) Spanish (Español ) Italian (Italiano ) Timezone: Europe/Rome (GMT+02:00) |
Sobre las soluciones que propones 1) ACF trabaja en un modo diferente, por eso no tenemos documentación detallada para el XML de esos campos ya que esos campos se manejan a través de los field groups. Hacerlos con XML puede que no creen problemas, pero no es algo que tiene tests de nuestra parte porque no es un procedimiento soportado. Al final, hacerlo con XML es igual a agregar la preferencia de traducción, pero como te mencioné la que tomará ACF es principalmente la del clon, por lo que no creo que te pueda ser muy de ayuda esta opción. 2) Puedes probar a traducir el enlace en modo programático si lo llamas directamente con PHP desde algún template (es decir que no los agregas al front-end a través de un page builder). En este caso puedes usar wpml_permalink junto a wpml_current_language --------------- Por casualidad haz probado a agregar el campo clon como "translate once" y luego modificar los links manualmente en la página traducida? imagino que no es lo que quieres pero esa sería otra alternativa. Avísame si alguna de estas opciones te sirve. |
July 11, 2024 at 1:59 pm #15935729 | |
narcisoF |
Hola Alejandro, Gracias por tu respuesta. Supongo que tendremos que ir por la opción 2 que te comentaba, pero el filtro o acción que te pido es otro. Tanto wpml_current_language como wpml_permalink ya los conocemos. Necesitamos engancharnos con alguna acción que se disparé cuando recuperamos la traducción que nos envía el servicio de traducción. Para así cada vez que se recupere la traducción se ejecute automáticamente nuestro script para actualizar los enlaces. ¿Te suena que pueda existir algo o sería factible que elevases esta duda a algún técnico de vuestro equipo? Gracias y un saludo |
July 11, 2024 at 2:39 pm #15935912 | |
Alejandro Supporter
Languages: English (English ) Spanish (Español ) Italian (Italiano ) Timezone: Europe/Rome (GMT+02:00) |
He preguntado a nuestros desarrolladores del equipo de integraciones para saber si hay algo así, pero lo dudo. Principalmente me pregunto una cosa: si usas ACF para los links, eso quiere decir que para mostrarlos en el front-end usas un template. si usas un template, en ese templates tienes el get_field de ACF en algún lugar, cierto? Si es así, por qué quieres pasar por un hook de cuando regrese un trabajo de un servicio de traducción? Los hooks que yo te mencioné funcionan más o menos como funciona el plugin Sticky links, primero busca el enlace y luego revisa si ese enlace pertenece a una página con traducción y de allí busca su permalink, es decir, no debes actualizar nada así como lo dices tú y se hace solo con tener el hook en el template (lo que dices tu, podría usar bastantes recursos repitiendo algo en un modo excesivo). Dices que los conoces y por ende sospecho que has hecho algunos tests sobre esto. me puedes decir por qué no te funciona el método standard del hook en el template? (Así puedo entender mejor la situación y tratar de ver como te podemos ayudar a resolverla). |
July 11, 2024 at 5:29 pm #15936879 | |
narcisoF |
Hola Alejandro, Se trata de una página con gran número de visitas. Ya hemos experimentado problemas de rendimiento con las características del servidor actual y preferimos controlar nosotros cuando hacemos el consumo de recursos. De la forma que planteamos se haría la actualización cuando nosotros recuperemos las traducciones. Esto es una labor muy habitual y recurrente en el mantenimiento ya que hay constantes cambios de contenido. Y al recuperar la traducción grabamos el enlace actualizado (que pasamos por wpml_permalink) con lo que una vez recuperada no habría que realizar ninguna acción más hasta una nueva actualización de dicho contenido. De la forma que nos propones, el cambio de enlace se hace al descargarse cada página en la visita del usuario y habría tantas solicitudes como enlaces haya en la página y a esto tenemos que sumarle las visitas simultáneas. Por otro lado, de esta forma el enlace nunca quedaría traducido en bbdd y siempre se repetiría el proceso. Nosotros no tenemos control sobre el hosting y no podemos escalar la maquina para asegurar una buena experiencia de usuario. Creemos que con nuestro planteamiento el consumo de recursos es menor y puntual. No se si así te pongo un poco más en contexto. |
July 12, 2024 at 9:06 am #15941191 | |
Alejandro Supporter
Languages: English (English ) Spanish (Español ) Italian (Italiano ) Timezone: Europe/Rome (GMT+02:00) |
He preguntado al equipo y lo que mencionas no es posible, lamentablemente, así que la he transformado en una feature request. Pero les he preguntado también sobre los permalinks y ellos me dijeron que ese hook no debería hacer llamadas siempre en cada visita. Eso entra en cache y no debería afectarte a nivel de rendimiento. La única cosa extra que te puedo recomendar es que agregues el link como "copy once" o como "translate" (me parece que ya está así, cierto?) y luego modificarla manualmente en la traducción. Esto es un poco más engorroso pero en ese caso no necesitarías filtros. has ya tratado de hacer esto? |
The topic ‘[Closed] Traducción automática de enlaces en los campos Link de ACF’ is closed to new replies.