WordPress : Le deuxième menu a le premier ID de menu
J’ai enregistré deux menus top-menu et main-menu.
J’ai créé deux menus sur le panneau d’administration et en ai attribué un à chacun (éléments différents)
Mais quand je regarde le front-end, je vois que les deux menus ont les mêmes éléments, et le menu principal a un identifiant « menu-top-menu-1 »
Voici ce que j’ai :
fonctions.php
function register_my_menus() {
register_nav_menus (array(
'main-menu' => 'Main Menu',
'top-menu' => 'Top Menu',
));
}
add_action( 'init', 'register_my_menus' );
header.php
Menu principal:
<div class=" top-menu-container">
<?php wp_nav_menu(array(
'container' => 'nav',
'container_class' => 'container',
'item_location' => 'top-menu',
'menu_class' => 'nav top-menu pull-right',
));
?>
</div>
Menu principal:
<div class="container">
<div class="logo col-xs-12 col-sm-12 col-md-3 col-lg-4">
<a href="<?php echo home_url(); ?>"><img class="block-center " src="<?php print IMAGES; ?>/logo.png" alt="<?php bloginfo('name'); ?> | <?php bloginfo('description'); ?>"/></a>
</div>
<nav class="navbar navbar-default col-xs-12 col-sm-12 col-md-9 col-lg-8" role="navigation">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#main-menu-toggle">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
</div>
<div class="collapse navbar-collapse nav-wrap" id="main-menu-toggle">
<?php wp_nav_menu(array(
'item_location' => 'main-menu',
'container_class' => 'collapse navbar-collapse nav-wrap',
'container_id' => 'main-menu-toggle',
'menu_class' => 'nav navbar-nav main-menu',
));
?>
</div>
</nav>
</div>
Voici la sortie rendue du menu supérieur et du menu principal
<nav class="container">
<ul id="menu-top-menu" class="nav top-menu pull-right">
<li id="menu-item-4" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-4"><a href="#">CanHerp</a></li>
<li id="menu-item-5" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-5"><a href="#">Rescues</a></li>
<li id="menu-item-6" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-6"><a href="#">Breeders</a></li>
<li id="menu-item-7" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-7"><a href="#">Forums</a></li>
</ul>
</nav>
<div class="collapse navbar-collapse nav-wrap" id="main-menu-toggle">
<div id="main-menu-toggle" class="collapse navbar-collapse nav-wrap">
<ul id="menu-top-menu-1" class="nav navbar-nav main-menu">
<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-4"><a href="#">CanHerp</a></li>
<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-5"><a href="#">Rescues</a></li>
<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-6"><a href="#">Breeders</a></li>
<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-7"><a href="#">Forums</a></li>
</ul>
</div>
</div>
J’aimerais également savoir si c’est la meilleure façon de gérer le menu réactif bootstrap (pour le menu principal’.
Solution n°1 trouvée
Enregistrez votre menu comme ceci…
register_nav_menus( array(
'primary1' => __( 'Top primary menu First', 'ank' ),
'primary2' => __( 'Top primary menu Second', 'ank' ),
'secondary' => __( 'Secondary menu in left sidebar', 'ank' ),
) );
et Utiliser dans un code comme celui-ci…
<?php wp_nav_menu( array( 'theme_location' => 'primary2' ) ); ?>
utiliser theme_location instant-of item_location ……
Solution n°2 trouvée
Passant des commentaires : le paramètre que vous recherchez est theme_location
, et non item_location
.
0 commentaire