leeand
  • 0
Новичок

Два меню навигации в темах Создавать одинаковые меню?

  • 0

Итак, у меня есть два навигационных меню, которые я зарегистрировал в своей теме:

<?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');
}

?>

Функции.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

На странице администратора для темы все отображается просто отлично, оба меню отображаются в списке как основная навигация, так и вторичная навигация.

И с экрана администратора я добавил два разных набора пунктов меню. Однако всякий раз, когда я загружаю свою тему, по какой-то причине у меня дважды появляются только меню из основной навигации.

Есть ли что-то, что я забыл, что может вызвать такое поведение?

Share
  1. Попробуйте theme_location вместо menu аргументов. Слишком поздно, чтобы искать подробности, но я помню, что документация/код абсолютно сбивает с толку.

    • 0
  2. В дополнение к ответам Рарста и Чипа выше, register_nav_menu используется следующим образом:register_nav_menu( $location, $description )

    То, что вы указали в качестве primary_nav иsecondary_nav, на самом деле является идентификаторами местоположения меню, а не фактическими идентификаторами меню.

    Вот почему вы должны использовать theme_location в своих аргументах wp_nav_menu вместоmenu

    • 0

Оставить ответ

You must login to add an answer.