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 el foro 6 días a la semana, durante 22 horas por día.

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

El problema: Intento recuperar un campo de imagen de ACF en una página de opciones. Es un campo repetido de ACF con un subcampo de imagen que debería devolver un array de imágenes. Funciona bien en el idioma principal (inglés) pero no en el resto de idiomas (español y catalán).

La solución: - Ve a las opciones de tema. - Cambia de idioma desde la barra superior al Español o Catalán. - Agrega tus imágenes.

Documentación: https://wpml.org/documentation/related-projects/translate-sites-built-with-acf/#translate-option-pages

This topic contains 5 respuestas, has 2 mensajes.

Last updated by Andrés hace 1 semana, 3 días.

Assigned support staff: Andrés.

Autor Publicaciones
octubre 10, 2019 a las 3:20 pm

Aitor Méndez

Buenas tardes. Intento recuperar un campo de imagen de ACF en una página de opciones. Es un campo repetido de ACF con un subcampo de imagen que debería devolver un array de imágenes. Una de las imágenes, aleatoriamente, se muestra en portada como background-image.

hidden link

La página de opciones es visible aquí (ver credenciales ocultas para el login):

hidden link

$field = get_field('background_image', 'option');
var_dump($field);

Funciona bien en el idioma principal (inglés) pero no en el resto de idiomas (español y catalán).

IMPORTANTE: Funcionaba bien hasta hace poco. Ha debido ser con alguna actualización porque el código es el mismo.

El campo repetido en forma de array se recupera correctamente, pero no el contenido del campo (la imagen), que devuelve 'boolean false'.

Este es el resultado correcto, en la página en inglés:

array (size=9)
0 =>
array (size=1)
'bg_img' =>
array (size=24)
'ID' => int 1305
'id' => int 1305
'title' => string 'anv-background-4' (length=16)
'filename' => string 'anv-background-4-2.jpg' (length=22)
'filesize' => int 236917
'url' => string '//localhost:3000/app/uploads/2019/04/anv-background-4-2.jpg' (length=64)
'link' => string '//localhost:3000/en/anv-background-4/' (length=42)
'alt' => string '' (length=0)
'author' => string '1' (length=1)
'description' => string '' (length=0)
'caption' => string '' (length=0)
'name' => string 'anv-background-4' (length=16)
'status' => string 'inherit' (length=7)
'uploaded_to' => int 0
'date' => string '2019-04-18 15:50:31' (length=19)
'modified' => string '2019-04-18 15:50:31' (length=19)
'menu_order' => int 0
'mime_type' => string 'image/jpeg' (length=10)
'type' => string 'image' (length=5)
'subtype' => string 'jpeg' (length=4)
'icon' => string '//localhost:3000/wp/wp-includes/images/media/default.png' (length=61)
'width' => int 2000
'height' => int 1506
'sizes' =>
array (size=30)
...
1 => ETC

Este es el resultado erróneo, en los otros idiomas:

array (size=15)
0 =>
array (size=1)
'bg_img' => boolean false
1 =>
array (size=1)
'bg_img' => boolean false
2 =>
array (size=1)
'bg_img' => boolean false
3 =>
array (size=1)
'bg_img' => boolean false
4 =>
array (size=1)
'bg_img' => boolean false
5 => ETC

octubre 11, 2019 a las 5:18 am #4735669

Andrés
Supporter

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

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

Hola Aitor,

Bienvenido al soporte de WPML.

Cuando trabajas con las opciones de tema del ACF y las deseas traducir, debes agregarlas tanto en el idioma original como en sus traducciones.

Si cambias de idioma desde la barra superior al Español o Catalán, podrás ver que dichos campos estás vacío.

¿Podrías seguir las indicaciones del siguiente enlace?
https://wpml.org/documentation/related-projects/translate-sites-built-with-acf/#translate-option-pages

Un saludo,
Andrés

octubre 11, 2019 a las 8:28 am #4736417

Aitor Méndez

Gracias por la respuesta. Estoy utilizando ACF builder para declarar los campos ACF y no tienen GUI donde ver las opciones de traducción. ¿Es posible hacerlo mediante código?

La verdad, no sé si esto es más un pregunta para ACF que para WPML, ya que se mezclan las dos cosas. En todo caso, si conoces la forma de hacerlo, agradecería mucho una respuesta.

octubre 11, 2019 a las 8:58 am #4736547

Aitor Méndez

Ah, perdón, sólo tengo que rellenar los campos en cada idioma. Lo pruebo en seguida para cerrar el ticket.

octubre 11, 2019 a las 9:28 am #4736815

Aitor Méndez

Efectivamente, sólo tenía que meter el contenido en los otros idiomas. Eso sí, no sé cómo puedo configurar wpml para que haga que "parezca traducido" en estos campos registrados por PHP (o sea, sin GUI en la pestaña de campòs personalizados). Doy por resuelta la consulta. Muchas gracias.

octubre 11, 2019 a las 9:46 am #4736909

Andrés
Supporter

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

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

¡Super! 🙂
Que tengas un buen día.