wordpress

Виправлення URL зображення в ACF (Advanced Custom Fields)

Last updated: 23.02.2026
Views: 125

Плагін ACF (Advanced Custom Fields) – це чудовий та зручний інструмент для розширення функціональності WordPress. ACF дозволяє додавати користувацькі поля до адміністративної панелі вашого проєкту. Під час використання поля зображення я зазвичай використовую URL-адресу для отримання значення.

А в шаблоні, під час виведення значення поля зображення, не завжди приходить правильне значення. Іноді замість URL приходить ID. Зазвичай це відбувається у циклі, коли ви виводите елементи з масиву. Виправити цю поведінку можна за допомогою наступного коду:

PHP

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

Якщо поля зображень використовуються в різних шаблонах, має сенс перенести це виправлення до файлу functions.php. І використовувати за потреби як окрему функцію.

PHP

// functions.php

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

В шаблоні це може виглядати так, як показано нижче. Але все залежить вашої реалізації, і назви полів у вас будить свої.

PHP

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

  echo '<img src="' . $icon . '" atl="icon" />'; 
}
author
Автор: Ігор Рибалко
Працюю фронтенд розробником з 2014 року. Основний стек технологій - Vue.js і WordPress

Схожі записи:

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *