WP_NAV_MENU在我的下划线主题中不能正常工作

时间:2019-05-13 作者:Jonas Merhej

我使用了一个基于下划线的主题,我用以下方式注册了我的菜单。

function register_my_menu() {
    register_nav_menus( array(
        \'primary\' => esc_html__( \'Primary\' ),
        \'social_media\' => esc_html__( \'Social Media\' ),
    ) );
};
add_action( \'init\', \'register_my_menu\' );
这样调用菜单时:

wp_nav_menu(
    [\'theme_location\' => \'primary\']
);

wp_nav_menu(
    [\'theme_location\' => \'social_media\']
);
仅显示主菜单。

我检查了菜单是否存在,是否已注册has_nav_menu() 它回来了true.

这是我的后端。菜单已注册并分配到以下位置:

enter image description here

No, it\'s not on display none. I checked the markup, and it\'s empty.

我禁用了JS,它仍然是一样的。我尝试添加新菜单:

…
    \'secondary\' => esc_html__( \'Secondary\' ),
…
完成了所有的程序

wp_nav_menu(
    [\'theme_location\' => \'secondary\']
);
什么都没发生。标记仍为空。不知怎么的,它只对这个名字起作用\'primary\'

1 个回复
SO网友:Jonas Merhej

如果发现这正在删除我的菜单:

function add_menu_icon ( $items, $args ) {
    if ( $args->theme_location == \'primary\' ) {
        $elements = \'<li class="custom-logo">\'
                    .   get_custom_logo()   .
                    \'</li>\';
                    $elements .= $items;
        $items = $elements;
        return $items;
    }
}
add_filter( \'wp_nav_menu_items\', \'add_menu_icon\', 10, 2 );
我还不知道为什么。