我正在尝试让 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">
有什么想法吗?
可能是
ACF
错误,但它绝对看起来像menu_image
返回格式设置为Image ID
,而不是Image URL
。您始终可以保持原样并稍微修改您的代码:
$item->title .= '<img src="'.wp_get_attachment_url($menu_image).'" class="menu-image" alt="menu banner">';