wordpress

Corrección de la URL de la imagen en ACF (Advanced Custom Fields)

Last updated: 23.02.2026
Views: 129

El plugin ACF (Advanced Custom Fields) es una herramienta excelente y práctica para ampliar la funcionalidad de WordPress. ACF te permite añadir campos personalizados al panel de administración de tu proyecto. Al usar el campo de imagen, suelo usar la URL para obtener el valor.

En la plantilla, al generar el valor del campo de imagen, no siempre se obtiene el valor correcto. A veces, en lugar de la URL, se obtiene un ID. Esto suele suceder en un bucle cuando se generan elementos desde una matriz. Puedes solucionar este comportamiento con el siguiente código:

PHP

$logo = get_field('logo');
if (is_numeric($logo)) {
    $logo_url = wp_get_attachment_url($logo);
} else {
    $logo_url = $logo; // string (URL)
}

Si se utilizan campos de imagen en diferentes plantillas, tiene sentido mover esta corrección al archivo functions.php.

PHP

// functions.php

function getAcfImgUrl($img){
    if (is_numeric($img)) {
        return wp_get_attachment_url($img);
    } 
    return $img;
}

En la plantilla, esto podría parecerse al que se muestra a continuación. Pero todo depende de su implementación, y usted tendrá sus propios nombres de campo.

PHP

$offers = get_field('offer_list');
foreach ($offers as $item) { 
   $icon = getAcfImgUrl($item['icon']);
      
   // other code...

  echo '<img src="' . $icon . '" atl="icon" />'; 
}
author
Autor: Igor Rybalko
He estado trabajando como desarrollador front-end desde 2014. Mi principal pila tecnológica es Vue.js y WordPress.

Publicaciones similares:

Leave a Reply

Your email address will not be published. Required fields are marked *