使用AFC将图像添加到菜单项

时间:2019-10-03 作者:ivan marchenko

我正在尝试向菜单项添加图像,无法使其正常工作。

这是我的密码。header.php

<?php wp_nav_menu(
                    array(
                        \'theme_location\'  => \'side-menu\',
                        \'container_class\' => \'fixed-menu\',
                        \'fallback_cb\'     => \'\',
                        \'link_before\'     => \'<span>\',
                        \'lnk_after\'       => \'</span>\',
                        \'depth\'           => 2,
                        \'walker\'          => new Understrap_WP_Bootstrap_Navwalker(),
                    )
                ); ?>
这是function.php

// Header Side Menu
function etm_side_menu() {
  register_nav_menu(\'side-menu\',__( \'Header Side Menu\' ));
}
add_action( \'init\', \'etm_side_menu\' );


add_filter(\'wp_nav_menu_objects\', \'wp_nav_menu_objects\', 10, 2);

function wp_nav_menu_objects( $items, $args ) {

    // loop
    foreach( $items as &$item ) {

        // vars
        $icon = get_field(\'icon\'); 


        // append icon
        if( $icon ) {

            $item->title .= \'<img src=\'.$icon.\'>\';

        }

    }


    // return
    return $items;

}
应该出现在菜单中的图像不会出现。任何帮助都将不胜感激。

我正在使用understrap主题。

所需的标记如下

<div class="fixed-menu">
        <ul>
            <li class="active">
               <a href="#">
                  <img src="img/fx-ic-1.png" alt="img">
                  <span>Главная</span>
               </a>
             </li>
             etc...

1 个回复
最合适的回答,由SO网友:Jacob Peattie 整理而成

get_field() 获取中当前帖子的字段the loop, 但是循环不用于菜单项,因此需要指定要从哪个帖子获取值。对于菜单项,每个nav菜单项都是WP_Post 对象,因此要传递该对象:

foreach( $items as &$item ) {
    $icon = get_field( \'icon\', $item );
    // etc.
} 

相关推荐

Making sub-menus exclusive

我真的不知道该怎么解释我在这里找的东西,我在这里找得太露骨了。在我的网站上,我有一个附带菜单,其中包含一系列子类别,每个子类别中都有一些项目。我想知道当我打开另一个子类别时,是否有办法关闭所有其他打开的子类别,例如:1. Animals ----A. Cats ----B. Dogs 2. People ----A. Samantha ----B. Daniel 当我按下“动物”时,我希望“人”关闭,反之亦