Виправлення 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" />';
}
Схожі записи:
-
Ітерація елементів масиву без циклу
Приклади дуже абстрактні, оскільки цикли існують. Наша умова буде такою. Потрібно вибрати всі елементи масиву за заданим атрибутом. Або, якщо сказати точніше, потрібно ві...
-
Класичний віджет (плагін) WordPress Google Maps
WS GMaps — це класичний віджет (плагін) Google Maps для CMS WordPress. Віджет дозволяє встановлювати кілька точок на карті. Крім того, на одній сторінці може бути кілька ...
-
Як надіслати дані HTML-форми на email за допомогою PHP
Відправка форми на електронну пошту є важливим і поширеним способом спілкування з користувачем веб-ресурсу. Давайте напишемо просту форму для відпправки даних на email за...
Залишити відповідь