web-dev-qa-db-fra.com

Plusieurs menus Wordpress qui n’afficheront que toutes les pages

Ce sont mes premières questions, alors allez-y doucement! Je développe un site Web où le logo est placé au milieu de la navigation. J'utilise Bootstrap et Wordpress pour réaliser ce menu, mais je rencontre un problème étrange. Bien que l'option "Ajouter automatiquement de nouvelles pages de premier niveau" soit décochée dans les deux menus, toutes les pages s'affichent dans les deux menus.

Le menu de gauche doit contenir FAQ, Contact et Blog et le menu de droite doit contenir Accueil, Magasiner et À propos de. Au lieu de cela, les menus gauche et droit affichent toutes les pages.

Voici quelques captures d'écran pour vous donner une meilleure idée. :

 Right Menu Structure  Messed Up Menu 

Ci-dessous mon code header.php pour la navigation:

<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>  

Comme vous pouvez le constater, j’ai un menu à gauche et à droite et j’ai placé l’image entre eux. J'ai également enregistré mon menu secondaire dans le fichier functions.php.

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

Je ne sais pas ce qui se passe ici. Je n'ai jamais eu ce problème auparavant et j'ai eu plusieurs menus sur d'autres sites. Toute idée serait grandement apprécié!

1
Sarah Wegerif

Les clés du tableau passé à register_nav_menus() doivent correspondre aux arguments 'theme_location' dans vos appels à wp_nav_menu(). Comme ils ne le font pas, WordPress est incapable de localiser le menu approprié et affiche à la place un menu par défaut composé de toutes les pages de niveau supérieur.

Modifiez vos arguments 'theme_location' en 'menu-1' et 'menu-2' ou modifiez les clés de tableau de votre appel register_nav_menus() en 'primary' et 'secondary'.

2
bosco