Skip Navigation

This thread is resolved. Here is a description of the problem and solution.

Problem: Quiero traducir los enlaces personalizados del módulo de Galería del WPBakery Page Builder.

Solution: - Sigue las instrucciones de esta entrada: https://wpml.org/es/forums/topic/custom_links-de-vc-sale-en-formato-codificado-y-no-puedo-anadir-en-xml/#post-1851467

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.

This topic contains 20 respuestas, has 2 mensajes.

Last updated by Andrés hace 2 years, 4 months.

Assigned support staff: Andrés.

Autor Mensajes
abril 24, 2018 a las 9:01 pm

christianJ-22

Estoy tratando de: Traducir los custom_links dentro del shortcode vc_gallery en WP Bakery.

URL de (mi) sitio web donde aparece el problema: Por ejemplo en hidden link APARECE EN TODAS LAS URLs DE MAQUINAS.

Yo esperaba ver: Cuando le das a alguna imagen del slider abajo del todo (después de Esto también le puede interesar:) no salta al idioma que debe (alemán), sino que va a la URL del custom_link en español. He buscado la forma de traducirlos con la misma solución que me dieron en este hilo: https://wpml.org/es/forums/topic/la-web-no-redirige-al-idioma-correcto/

PERO añadiendo esto:

<wpml-config>
<shortcodes>
<shortcode>
<tag>vc_single_image</tag>
<attributes>
<attribute>link</attribute>
</attributes>
</shortcode>
<shortcode>
<tag>vc_gallery</tag>
<attributes>
<attribute>custom_links</attribute>
</attributes>
</shortcode>
</shortcodes>
</wpml-config>

En vez de eso, obtuve: En vez de ver links para traducir como la última vez, me encuentro con un código rarísimo y muy largo: #E-8_aHR0cCUzQSUyRiUyRm51ZXZvLnB1bGlkb3JhZGVjYW50b3MuY29tJTJGYWJwLTE1NS1jb25jZXB0LWlpJTJGJTJDaHR0cCUzQSUyRiUyRm51ZXZvLnB1bGlkb3JhZGVjYW50b3MuY29tJTJGYWJwLTMxMC1jbmMlMkYlMkNodHRwJTNBJTJGJTJGbnVldm8ucHVsaWRvcmFkZWNhbnRvcy5jb20lMkZ2MiUyRiUyQ2h0dHAlM0ElMkYlMkZudWV2by5wdWxpZG9yYWRlY2FudG9zLmNvbSUyRmZtJTJGJTJDaHR0cCUzQSUyRiUyRm51ZXZvLnB1bGlkb3JhZGVjYW50b3MuY29tJTJGZmwlMkY=

abril 25, 2018 a las 7:45 am #1803491

Andrés
Supporter

Languages: Inglés (English ) Español (Español ) Francés (Français )

Timezone: Europe/Paris (GMT+02:00)

Hola,

¡Bienvenido de nuevo!

Estoy revisando tu sitio y haciendo algunas modificaciones en el archivo wpml-config.xml. Sin embargo, por el momento no he tenido suerte.

<wpml-config>
    <shortcodes>
        <shortcode>
            <tag>vc_gallery</tag>
            <attributes>
                <attribute type="link" encoding="base64">custom_links</attribute>
            </attributes>
        </shortcode>
     </shortcodes>
</wpml-config>

Regreso tan pronto tenga novedades.

Un saludo,
Andrés

abril 25, 2018 a las 7:56 am #1803710

Andrés
Supporter

Languages: Inglés (English ) Español (Español ) Francés (Français )

Timezone: Europe/Paris (GMT+02:00)

1. ¿Me podrías decir dónde se encuentra el campo custom_link como el que muestras en tu captura de pantalla?

2. Por otra parte, si necesitas una solución urgente puedes hacer lo siguiente:
- Solo para este shortcode da click en el menú de idiomas que se encuentra en la barra superior de tu página.
- Cambia al alemán.
- Traduce las URL directamente desde la caja del WP Bakery.
- Para todo los demás contenidos tradúcelos de manera tradicional ya que mezclar estos métodos de traducción puede llevar a que pierdas o se mezclen contenidos.

Saludos

abril 25, 2018 a las 9:10 am #1804939

christianJ-22

Añadiendo lo siguinte al wpml-config.xml:

<shortcode>
<tag>vc_gallery</tag>
<attributes>
<attribute>custom_links</attribute>
</attributes>
</shortcode>

Una vez lo guardes, si vas a cualquier pagina de una máquina, añades algo en blanco, actualizas y después le das a actualizar la traducción y te aparecerá ese campo en esa página o post que quieres traducir.

El problema como dije, es que aparecen los enlaces codificados de alguna manera y no hay manera de descifrarlo para modificar las URLs. Ni con "base64" ni con "vc_link", nada...

¿Seguro que no pasará nada si hago las traducciones como tu me dices? A ver si por hacer algo provisional, después me van a fallar más cosas...no quiero tener que estar todo el tiempo acudiendo a vosotros cada vez que me contacte el cliente...

Un saludo y gracias de antemano!

abril 25, 2018 a las 9:35 am #1805399

Andrés
Supporter

Languages: Inglés (English ) Español (Español ) Francés (Français )

Timezone: Europe/Paris (GMT+02:00)

Me gustaría inicialmente que nos pongamos de acuerdo sobre el problema en el que estamos trabajando:
- He agregado el código que me brindas, e incluso el mío, y he tratado de ver el resultado al tratar de traducir esta página: hidden link. Más exactamente el carrusel debajo de "Esto también le podría interesar:"
- Cuando voy al editor de WPML no veo los múltiples enlaces para traducción, sólo el título. Pero tampoco veo lo que mencionas.

Si he entendido mal tu problema, ¿me podrías decir cómo replicarlo?

Si se trata de un nuevo problema, debo solicitarte que abras un ticket aparte para que podamos avanzar en el inicialmente descrito.

abril 25, 2018 a las 9:42 am #1805420

christianJ-22

Acabo de agregar el código al wpml-config.xml, lo puedes ver ahí mismo.

He actualizado en la máquina A20. Ahora si le das al símbolo para actualizar la traducción en alemán, si vas abajo del todo verás el campo custom_links y el código que yo te comentaba.

Espero que lo veas! Te dejo capturas

abril 25, 2018 a las 9:53 am #1805570

Andrés
Supporter

Languages: Inglés (English ) Español (Español ) Francés (Français )

Timezone: Europe/Paris (GMT+02:00)

En efecto, estamos hablando de dos cosas diferentes. Los enlaces de la galería con la que abriste este ticket se agregan directamente desde el módulo y no desde la máquina.

Para este nuevo problema, por favor, abre un nuevo ticket mientras seguimos trabajando en el problema inicial.

abril 25, 2018 a las 10:36 am #1806508

Andrés
Supporter

Languages: Inglés (English ) Español (Español ) Francés (Français )

Timezone: Europe/Paris (GMT+02:00)

Gracias por los datos de contacto que nos has dado y además por habernos señalado este problema. Definitivamente existe un problema para traducir este tipo de módulo ya que el WP Bakery está haciendo un doble encodaje: URL encoded y luego un bae64.

Voy a enviar los detalles a nuestro equipo de Compatibilidad de Temas y Plugins y ellos contactarán al autor. Por favor, ten en mente que este proceso puede tomar cierto tiempo dependiendo de cuan rápido el autor responda a nuestros esfuerzos para entrar en contacto.

Te mantengo al tanto de cualquier avance.

Saludos

abril 25, 2018 a las 10:37 am #1806511

christianJ-22

Creo que estás confundido, son lo mismo. Esos links que ves en la galería son los custom_links de vc_gallery.

En WPBakery aparece así en formato link (URLs), pero en las traducciones aparece codificado con la numeración que envíe ya en dos capturas.

Hablamos de los mismo, sólo que en el módulo de galería aparece como links normales y al buscarlo dentro del shortcode aparcen codificados en custom_links.

Bueno, de todas formas, si crees que es algo diferente, lo qu YO QUIERO conseguir es que al hacer clic en las imágenes de esa galería, dirijan al idioma correspondiente. Si le han dado estando en español, pues a la URL de la máquina en español, y si le han dado estando en la versión alemana pues que acaben en la URL en alemán.

¿Debo entonces traducirlos como me comentabas antes en la respuesta #1803710?

Confírmamelo si crees que no pasará nada por favor.

Gracias

abril 25, 2018 a las 10:39 am #1806555

christianJ-22

WOW! acabo de leer tu última respuesta, se ve que estaba escribiendo mientras recibía tu email.

¿De forma provisional puedo hacer las traducciones como comentabas?

Necesito saberlo para no hacer ninguna trastada y que no se estropee el proyecto del cliente.

Saludos y gracias de nuevo!

abril 25, 2018 a las 10:42 am #1806601

Andrés
Supporter

Languages: Inglés (English ) Español (Español ) Francés (Français )

Timezone: Europe/Paris (GMT+02:00)

Si es algo sistemático y estás utilizando este módulo en varias páginas del sitio, no te recomiendo que lo hagas ya que muy probablemente confundirá a tu cliente. Lo anterior era sólo una solución de emergencia en caso de que fuera un módulo utilizado únicamente en la página inicial.

Ahora bien, remito tu ticket a tu nuestro equipo de compatibilidad y te mantengo al tanto.

Saludos

abril 25, 2018 a las 10:44 am #1806614

christianJ-22

OK pues quedo a la espera de la solución.

Es un módulo que he usado en TODAS las máquinas, es decir, 19 URLs en total...

Gracias!

abril 26, 2018 a las 1:53 pm #1837044

christianJ-22

Todo está alojado ahora en el dominio euracryl.com

Las credenciales siguen siendo las mismas, excepto el PATH o DIRECTORIO en el servidor que sería

/webseiten

Espero oir pronto la solución que encontréis para los custom_links

Saludos y gracias!

abril 26, 2018 a las 5:58 pm #1842111

Andrés
Supporter

Languages: Inglés (English ) Español (Español ) Francés (Français )

Timezone: Europe/Paris (GMT+02:00)

Gracias por mantenernos al tanto. Envío esta información al equipo de compatibilidad.
Saludos

abril 27, 2018 a las 6:18 am #1851467

Andrés
Supporter

Languages: Inglés (English ) Español (Español ) Francés (Français )

Timezone: Europe/Paris (GMT+02:00)

Hola,

He tenido un primer feedback de nuestro Equipo de compatibilidad y me comentan que este módulo no es compatible hasta el momento así que necesita de un poco de código.

- Ve a WPML > Administración de traducción > Configuración XML personalizada.
- Reemplaza el código que tienes por el siguiente:

<wpml-config>
  <shortcodes>
        <shortcode>
            <tag>vc_single_image</tag>
            <attributes>
                <attribute>link</attribute>
            </attributes>
        </shortcode>
        <shortcode>
            <tag>vc_gallery</tag>
            <attributes>
                <attribute encoding="custom_links">custom_links</attribute>
            </attributes>
        </shortcode>
    </shortcodes>
</wpml-config>

- Visita la pestaña: Configuración del contenido multilingüe.
- Ahora agrega este código en el functions.php:

add_filter( 'wpml_pb_shortcode_decode', function( $string, $encoding, $encoded_string ) {
	if ( 'custom_links' === $encoding ) {
		$values = vc_value_from_safe( $string );
		$values = explode( ',', $values );
		$string = array();
		foreach ( $values as $index => $value ) {
			$string[ $index ] = array( 'value' => $value, 'translate' => true );
		}
	}

	return $string;
}, 10, 3 );

add_filter( 'wpml_pb_shortcode_encode', function( $string, $encoding ) {
	if ( 'custom_links' === $encoding ) {
		if ( is_array( $string ) ) {
			$string = implode( ',', $string );
		}
		$string = '#E-8_' . base64_encode( rawurlencode( $string ) );
	}

	return $string;
}, 10, 2 );

- Regresa a la página original y agrega un pequeño cambio en el título y/o en el módulo de galería y guarda la página. Esto debería refrescar la traducción y hacer que el ícono de lápiz se convierta en una flecha circular.

¿Aparecen ahora los campos para traducción?

Saludos