Несколько меню Wordpress, которые будут отображать только все страницы


Это мои первые вопросы, так что полегче со мной! Я разрабатываю веб-сайт, на котором логотип размещен в середине навигации. Я использую Bootstrap и Wordpress для достижения этого меню, но столкнулся со странной проблемой. Хотя у меня в обоих меню не установлен флажок "Автоматически добавлять новые страницы верхнего уровня", все страницы отображаются в обоих меню.

Левое меню должно содержать часто задаваемые вопросы, Контакты и Блог, а Правое меню должно содержать "Главная", "Магазин" и "О компании". Вместо этого в левом и правом меню отображаются все страницы.

Вот несколько скриншотов, чтобы дать вам лучшее представление.:

Right Menu Structure Messed Up Menu

Ниже приведен мой header.php код для навигации:

<section id="navbar">
           <div class="navbar-wrapper">
            <div class="navbar navbar-default navbar-static" role="navigation">
                <div class="container">
                    <div class="navbar-header">
                        <a class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
                            <span class="sr-only">Toggle navigation</span>
                            <span class="icon-bar"></span>
                            <span class="icon-bar"></span>
                            <span class="icon-bar"></span>
                        </a>
                    </div><!-- navbar-header -->


                <?php
                    wp_nav_menu( array(

                        'theme_location'    => 'primary',
                        'container'         => 'nav',
                        'container_class'   => 'navbar-collapse collapse',
                        'menu_class'        => 'nav navbar-nav navbar-left'
                    ));
                ?>

                      <img src="<?php bloginfo('stylesheet_directory'); ?>/assets/img/SJ-circle.png" width="200px" height="200px" alt="Savvy Jack Wear" class="logo img-responsive center-block">


                <?php
                    wp_nav_menu( array(

                        'theme_location'    => 'secondary',
                        'container'         => 'nav',
                        'container_class'   => 'navbar-collapse collapse',
                        'menu_class'        => 'nav navbar-nav navbar-right'
                    ));
                ?>


                </div><!-- container -->
            </div><!-- navbar -->


    </div><!-- navbar-wrapper -->
    </section>  

Как вы можете видеть, у меня есть левое и правое меню, и я поместил изображение между ними. Я также зарегистрировал свое дополнительное меню в functions.php файл.

register_nav_menus( array(
    'menu-1' => esc_html__( 'Primary', 'savvyjack' ),
    'menu-2' => esc_html__( 'Secondary', 'savvyjack'),
) );

Я не совсем понимаю, что здесь происходит. У меня никогда раньше не было этой проблемы, и у меня было несколько меню на других сайтах. Любая информация будет очень признательна!

Author: Sarah Wegerif, 2017-04-06

1 answers

Ключи для массива, переданного в register_nav_menus(), должны соответствовать аргументам 'theme_location' в ваших вызовах wp_nav_menu(). Поскольку они этого не делают, WordPress не может найти соответствующее меню и вместо этого отображает значение по умолчанию, состоящее из всех страниц верхнего уровня.

Либо измените ваши аргументы 'theme_location' на 'menu-1' и 'menu-2', либо измените ключи массива в вашем вызове register_nav_menus() на 'primary' и 'secondary'.

 1
Author: bosco, 2017-04-06 20:16:34