wordpress — ACF IMG возвращает идентификатор, а не URL в архиве. Переполнение стека

У меня есть сайт WordPress, и у меня есть простой div с фоновым изображением в footer.php, который вызывается из поля опций ACF следующим образом:

<div id="footer" style="background-image: url('<?php the_field('footer_background', 'options'); ?>');">

Это прекрасно работает на всех моих страницах и шаблонах. Однако при переходе в категорию блога (из виджета категорий на странице блога), которая вызывает archive.php, она преобразует URL-адрес в идентификатор изображения и выдает 85, а не URL-адрес.

Я попытался удалить весь код из archive.php, за исключением вызовов верхнего и нижнего колонтитула, если у меня было что-то там, но все равно не повезло. Поле ACF определенно установлено в «url», поэтому оно работает везде.

Есть идеи, почему он конвертируется в ID на странице archive.php?

0

Решение

У меня возникла та же проблема, и я не нашел исправления для плагина, но я решил ситуацию, сделав условный оператор, чтобы проверить, является ли страница архивом тегов, а затем извлек URL-адрес вложения по возвращенному идентификатору.

if (is_tag()) {
$imgUrl = wp_get_attachment_url( get_field('image', 'option') );
} else {
$img = get_field('image', 'option');
$imgUrl = $img['url'];
}
}
1

Другие решения

Других решений пока нет …