主题中的两个导航菜单是否生成相同的菜单?

时间:2011-04-13 作者:leeand00

好的,我有两个导航菜单,我已经注册了我的主题:

<?php

if ( function_exists(\'register_sidebar\') )
    register_sidebar();

add_theme_support( \'menus\' );

if ( function_exists(\'register_nav_menu\') ) {
    register_nav_menu( \'primary_nav\', \'Primary Navigation\');
    register_nav_menu( \'secondary_nav\', \'Secondary Navigation\');
}

?>

Functions.php

                <!-- BEGIN: Navigation Menu primary_nav (Primary Navigation) -->
                <?php
                  if(function_exists(\'wp_nav_menu\'))
                  {
                    wp_nav_menu(
                        array(
                            \'menu\' => \'primary_nav\',
                            \'container\' => \'\',
                            \'depth\' => 1,
                            \'menu_id\' => \'menu\'
                        )
                    );
                  }
                  else 
                  {
                ?>
                   <ul>
                    <?php wp_list_pages(\'title_li=&depth=1\'); ?>
                   </ul>
                <?php
                  }
                ?>
                <!-- END: Navigation Menu primary_nav (Primary Navigation) -->
            </div>
header.php - 位置1

        <!-- BEGIN: Secondary Navigation Menu -->
        <?php 
              if(function_exists(\'wp_nav_menu\')) {
                wp_nav_menu(
                    array(
                        \'menu\' => \'secondary_nav\',
                        \'container\' => \'\',
                        \'depth\' => 1,
                        \'menu_id\' => \'secondary_nav_id\'
                    )
                );
              }
              else {
        ?>

            <ul>
                <?php wp_list_pages(\'title_li=&depth=1\'); ?>
            </ul>
        <?php
              }
        ?>
        <!-- END: Secondary Navigation Menu -->
header.php - 位置2

在主题的管理页面中,所有内容都显示得很好,两个菜单都显示在列表中—主导航和辅助导航。

在管理屏幕上,我添加了两组不同的菜单项。然而,每当我加载我的主题时,出于某种原因,我最终只会看到主导航中的菜单出现两次。

我是否忘记了会导致这种行为的原因?

2 个回复
最合适的回答,由SO网友:Rarst 整理而成

尝试theme_location 而不是menu 在参数中。在这里查找细节已经太晚了,但我记得文档/代码对此非常困惑。

SO网友:BucketPress

除上述Rarst和Chip的答案外,register\\u nav\\u菜单的使用方式如下:register_nav_menu( $location, $description )

您指定为primary\\u nav和secondary\\u nav的实际上是菜单位置标识符,而不是实际的菜单标识符。

这就是为什么你必须使用theme_location 在wp\\u nav\\u菜单参数中,而不是menu

结束

相关推荐

Adding goodies to themes

如何在主题更新时向Arjuna-X等主题添加内容而不丢失?儿童主题是一种很好的方式,还是有其他选择?如果新版本的主题对我添加的功能具有本机支持,该怎么办?