无法使用名称显示自定义菜单?

时间:2011-05-05 作者:user4569

我想要两个使用新WordPress 3.0功能的菜单。

在里面functions.php 我有:

function register_my_menus() {
 register_nav_menus(
    array(
     \'header-menu\' => __( \'Header Menu\' ),
     \'top-menu\' => __(\'Top Menu\')
   )
 ); 
}

add_action( \'init\', \'register_my_menus\' );
并且在header.php 我有:

<?php wp_nav_menu( array( \'name\' => \'Header Menu\' ) ); ?>
....
<?php wp_nav_menu( array( \'name\' => \'Top Menu\' ) ); ?>
现在他们似乎退却了,总是显示相同的菜单。菜单已在wp admin“主题位置”中定义和设置。

为什么不能正确加载?

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

wp_nav_menu() does not have a name argument. 相反,您应该使用theme_location.

具有register_nav_menus(), 您表示在主题中有两个位置可以显示菜单。然后,用户可以创建多个菜单,并将它们分配到这些位置。这就是为什么我们要通过theme_location. 如果知道要使用的菜单的ID、slug或名称,可以使用menu 的参数wp_nav_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