WP_NAV_MENU回退不起作用

时间:2011-08-07 作者:Brainbuzz

我刚刚意识到,当自定义菜单不存在时,回退对我的项目不起作用。我不知道我错过了什么。以下是显示导航菜单的代码:

$menu = wp_nav_menu(
   array(
      \'menu_class\' => \'reset sf-menu\',
      \'container_id\'=>\'nav\',
      \'echo\'=>0
   )
);

$menu = str_replace("\\n", "", $menu);
$menu = str_replace("\\r", "", $menu);
$menu = str_replace("\\t", "", $menu);
echo $menu;
以下是测试现场:http://brainbuzzmedia.com/themes/amplify/styles/charcoal/

1 个回复
SO网友:Chip Bennett

您尚未添加fallback_cb 参数数组的键。您还需要添加theme_location 密钥:

php start $menu = wp_nav_menu(
   array(
      \'menu_class\' => \'reset sf-menu\',
      \'container_id\'=>\'nav\',
      \'echo\'=>0,
      \'fallback_cb\' => \'mytheme_fallback_function\' // ADD ME!!!
      \'theme_location\' => `location_name` // ADD ME, AS DEFINED IN register_nav_menu()
   )
);

$menu = str_replace("\\n", "", $menu);
$menu = str_replace("\\r", "", $menu);
$menu = str_replace("\\t", "", $menu);
echo $menu;
php end
或者,您可以将代码包装在if ( has_nav_menu( \'location_name\' ) ) 有条件的:

if ( has_nav_menu( \'location_name\' ) ) {
    echo $menu;
} else {
    // Do something else, like wp_list_pages() or wp_page_menu()
}

结束

相关推荐

Menu API not switching menus?

我正在使用菜单API,我想切换到其他菜单,但出于某种原因,它保留了第一个菜单这是我的密码在函数中。php add_action( \'init\', \'register_my_menus\',10 ); function register_my_menus() { register_nav_menu(\'main-navigation\', \'Main Navigation\'); } 下面是我的主题文件(header.ph