J'ai créé un nouveau menu et ajoute le code ci-dessous dans footer.php pour afficher mon menu.
wp_nav_menu( array('menu' => 'footer-cn', 'menu_id' => 'nav', 'menu_class' => 'ft-nav' ));
Actuellement, je n’ai ajouté aucune page dans ce menu, je souhaite donc définir une condition si des pages sont disponibles dans footer-cn
puis afficher le menu.
Je veux mettre la condition quelque chose comme ceci:
<?php
if(){ // Some condition
wp_nav_menu( array('menu' => 'footer-cn', 'menu_id' => 'nav', 'menu_class' => 'ft-nav' ));
}
?>
C'est possible?
Merci.
Pas besoin d'utiliser conditionnel ici pour masquer votre menu de navigation lorsqu'il est vide.
Regardez wp_nav_menu( $args );
. Il accepte les arguments suivants
$defaults = array(
'theme_location' => '',
'menu' => '',
'container' => 'div',
'container_class' => '',
'container_id' => '',
'menu_class' => 'menu',
'menu_id' => '',
'echo' => true,
'fallback_cb' => 'wp_page_menu',
'before' => '',
'after' => '',
'link_before' => '',
'link_after' => '',
'items_wrap' => '<ul id="%1$s" class="%2$s">%3$s</ul>',
'depth' => 0,
'walker' => ''
);
wp_nav_menu( $defaults );
Le plus important ici est 'fallback_cb'
$ fallback_cb (chaîne) (optionnel)
Si le menu n'existe pas, utilisez la fonction de repli. Défini sur false pour éviter tout repli. Remarque: Passe $ args à la fonction personnalisée.
Par défaut: wp_page_menu
Donc, pour masquer un menu lorsqu'il est vide, vous pouvez simplement ajouter ceci à vos arguments
'fallback_cb' => false
Donc, votre code de fin devrait être
wp_nav_menu( array('menu' => 'footer-cn', 'menu_id' => 'nav', 'menu_class' => 'ft-nav', 'fallback_cb' => false));