wp_nav_menu仅在我不打印的情况下打印菜单';t包括位置(已注册)


wp_nav_menu only prints menu if I don't include the location (which was registered)

我可以注册一个新的菜单位置(它显示在管理Appearance->Menus部分。但当我用该位置调用wp_nav_menu时,它什么也不打印。如果我设置location =>'',它就会打印它!

functions.php

//This works
add_action( 'init', 'register_my_menus' );
function register_my_menus()
{
    register_nav_menus( array( 'my_special_slug' => __( 'My Menu' )));
}

header.php

wp_nav_menu(
    array(
        'items_wrap'=> '%3$s', 
        'walker' => new MyWalker(), 
        'container'=>false, 
        'menu_class' => '', 
        'theme_location'=>'my_special_slug', //This does NOT work
        'fallback_cb'=>false 
    )
);

我做错了什么?

register_nav_menu采用逗号分隔的数组

function register_my_menus()
{
    register_nav_menu(array( 'my_special_slug', 'My Menu');
}

如果用户不进入管理界面并打开菜单,就无法找到它(如果不正确,请更正)。他们需要进入"外观->菜单->位置",然后选择要显示该位置的菜单。

我一直无法找到一种程序化的方法来做到这一点。