You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ACF菜单图片已设返回URL却返回ID,如何解决?

问题原因及解决方法

可能的原因及对应解决方案

1. 字段返回格式未生效(未重新保存菜单)

虽然你在ACF字段设置里选择了「Image URL」,但如果是设置字段前就已添加的菜单项,旧数据仍会以ID形式存储。需要重新保存对应的菜单项,让ACF更新存储格式。

2. get_field的参数传递问题

菜单项的自定义字段获取,需要确保传递正确的标识。尝试将get_field的第二个参数改为$item->ID:

$menu_image = get_field('menu_image', $item->ID);

或者更严谨地指定菜单项的上下文:

$menu_image = get_field('menu_image', 'nav_menu_item_' . $item->ID);

3. 强制转换为图片URL(兜底方案)

如果以上方法都无效,直接通过图片ID获取完整URL:

add_filter('wp_nav_menu_objects', 'kodr_wp_nav_menu_objects', 10, 2);
function kodr_wp_nav_menu_objects( $items, $args ) {
    foreach( $items as &$item ) {
        $menu_image_id = get_field('menu_image', $item);
        if( $menu_image_id ) {
            $menu_image_url = wp_get_attachment_url($menu_image_id);
            $item->title .= '<img src="'.$menu_image_url.'" class="menu-image" alt="menu banner">';
        }
    }
    return $items;
}

内容的提问来源于stack exchange,提问作者alexkodr

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.30 08:32:42