Виправлення 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
Іноді виникає необхідність обмежити кількість запитів до зовнішнього джерела даних, особливо коли дані змінюються нечасто. Наприклад, це може бути корисним під час роботи...
-
Google Maps модуль для Joomla
StepMap – це безкоштовний модуль Google Maps для Joomla. Цей модуль розроблено для Joomla 6. Однак він також працює на Joomla 5. Модуль не тестувався на старіших версіях ...
-
Як видалити скрипт jQuery Migrate з WordPress
Якщо ваш проект WordPress використовує jQuery, то за замовчуванням WordPress також завантажує скрипт jQuery Migrate разом із ним. У 99% випадків вам насправді цей скрипт ...
Залишити відповідь