Corrección de la URL de la imagen en ACF (Advanced Custom Fields)
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" />';
}
Publicaciones similares:
-
Cómo subir archivos a un servidor usando PHP
Subir archivos a un sitio web es una tarea común. Considere subir archivos a un servidor PHP mediante el método POST. Esto requerirá un formulario con el tipo de campo "f...
-
Widget (plugin) clásico de WordPress con los tipos de cambio del Banco Nacional de Ucrania
WP Currency NBU: el clásico widget de tipo de cambio del NBU (Banco Nacional de Ucrania) para WordPress. Este widget muestra el tipo de cambio del USD (dólar estadouniden...
-
Widget (plugin) clásico de WordPress Google Maps
WS GMaps es un widget (plugin) clásico de Google Maps para WordPress CMS. Este widget permite establecer múltiples puntos en el mapa. Además, puede haber varios widgets e...
Leave a Reply