在 archive.php 中时,ACF IMG 返回 ID 而不是 URL

Sco*_*ldo 1 php wordpress image archive advanced-custom-fields

我有一个 WordPress 网站,并且有一个简单的 div,其中包含从 ACF 选项字段调用的背景图像,footer.php如下所示:

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

这在我的所有页面和模板上都完美运行。但是,当进入正在调用的博客类别(从博客页面中的类别小部件)时,它archive.php会将 URL 转换为图像 ID 并输出,'85'而不是 URL。

我尝试从 archive.php 中删除除页眉和页脚调用之外的所有代码,以防万一我在那里有一些东西,但仍然没有运气。ACF 字段肯定设置为“url”,因此它在其他地方都适用。

有什么想法为什么它会转换为archive.php页面上的 ID 吗?

小智 6

我遇到了同样的问题,并且我没有找到该插件的修复方法,但我通过创建一个条件语句来检查该页面是否是标签存档,然后通过返回的 ID 检索附件 URL 来解决这种情况。

if (is_tag()) {
    $imgUrl = wp_get_attachment_url( get_field('image', 'option') );
    } else {
        $img = get_field('image', 'option');
        $imgUrl = $img['url'];
    }
}
Run Code Online (Sandbox Code Playgroud)