ACF 菜单图像返回 ID 而不是 URL

问题描述 投票:0回答:1

我正在尝试让 ACF 图像显示在 WordPress 菜单中。我已按照此页面上的文档进行操作https://www.advancedcustomfields.com/resources/adding-fields-menu-items/我在管理中有一个名为

menu_image
的字段设置,这是一个
Image
返回格式设置为
Image URL
的字段类型。

我在前端菜单中显示的代码如下:

add_filter('wp_nav_menu_objects', 'kodr_wp_nav_menu_objects', 10, 2);
function kodr_wp_nav_menu_objects( $items, $args ) {

// loop
foreach( $items as &$item ) {
    
    // vars
    $menu_image = get_field('menu_image', $item);
    
    // append menu_image
    if( $menu_image ) {
        $item->title .= '<img src="'.$menu_image.'" class="menu-image" alt="menu banner">';
    }
}
  // return
  return $items;
}

但是在前端它只是返回图像 ID 而不是完整的 URL,如下所示:

<img src="101690" class="menu-image" alt="menu banner">

有什么想法吗?

advanced-custom-fields acfpro
1个回答
0
投票

可能是

ACF
错误,但它绝对看起来像
menu_image
返回格式设置为
Image ID
,而不是
Image URL
。您始终可以保持原样并稍微修改您的代码:

$item->title .= '<img src="'.wp_get_attachment_url($menu_image).'" class="menu-image" alt="menu banner">';
© www.soinside.com 2019 - 2024. All rights reserved.