首页 > 解决方案 > 在导航中添加 ACF 图像字段未显示

问题描述

我正在尝试使用 Advanced Custom Fields PRO 将图像添加到 header.php 导航,但是它没有显示出来。我尝试了各种解决方案,例如(在functions.php中):

add_filter('wp_nav_menu_items', 'my_wp_nav_menu_items', 10, 2);

function my_wp_nav_menu_items( $items, $args ) {

    $menu = wp_get_nav_menu_object($args->menu);
    
    if( $args->theme_location == 'top' ) {
        
        $logo = get_field('logo', $menu);
        $color = get_field('color', $menu);
        
        $html_logo = '<li class="menu-item-logo"><a href="'.home_url().'"><img src="'.$logo['url'].'" alt="'.$logo['alt'].'" class="logo" /></a></li>';
        
        $html_color = '<style type="text/css">.navigation-top{ background: '.$color.';}</style>';
        
        $items = $html_logo . $items . $html_color; 
    }
    return $items;
}

我试图打印出 args 数组,但它显示为空。

我尝试过的第二种解决方案(在 header.php 中):

<?php $image = get_field('logo'); ?>
<img src="<?php echo $image['url']; ?>" alt="<?php echo $image['alt']; ?>" class="logo" />

提前谢谢你<3

编辑:我也尝试过使用:

        <?php
global $wp_query;
$postid = $wp_query->post->ID;
echo get_post_meta($postid, 'logo', true);
wp_reset_query();
?>

机器人没有输出。如果我将它从 true 更改为 false,我只会得到一个空数组 [1]:https ://i.stack.imgur.com/03u0H.png [2]:https ://imgur.com/a/nIRu3Nt

标签: phpwordpressadvanced-custom-fieldsacfpro

解决方案


推荐阅读