Виправлення URL зображення в ACF (Advanced Custom Fields)
Плагін 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" />';
}
Схожі записи:
-
Кешування даних у файл за допомогою PHP
Іноді виникає необхідність обмежити кількість запитів до зовнішнього джерела даних. Особливо якщо вони не змінюються постійно. Наприклад, курс валют в центральному банку....
-
Як видалити поле «Веб-сайт» з форми коментарів WordPress
За замовчуванням WordPress містить поле «Веб-сайт» або «URL» у формі коментарів. Хоча це може бути корисним у деяких випадках, це часто приваблює спамерів, які залишають ...
-
Як завантажити файли на сервер за допомогою PHP
Завантаження файлів на веб-сайт є звичайним завданням. Розглянемо можливість завантаження файлів на сервер PHP за допомогою методу POST. Для цього знадобиться форма з тип...
Залишити відповідь