WordPress : Afficher le menu uniquement si la page actuelle est dans le menu
Est-il possible d’afficher conditionnellement un menu en fonction de la présence ou non de la page en cours dans le menu ?
Solution n°1 trouvée
Vous pouvez utiliser le code suivant. Parcourez chaque élément, dans chaque menu, et vérifiez si l’élément existe. Si c’est le cas, affichez le menu et passez au menu suivant.
<?php
// get array of nav menus
$menus = wp_get_nav_menus();
//get current page URL
$uri = $_SERVER['REQUEST_URI'];
//loop through each menu looking for current page
foreach($menus as $menu)
{
//get menu items from ith menu in loop
$items = wp_get_nav_menu_items( $menu->term_id );
//loop through each item in menu to check for
foreach($items as $item)
{
if( strpos($item->url, $uri) !== false )
{
//display menu
wp_nav_menu( array('menu'=>$menu->term_id) );
//current menu done, check next menu
break;
}
}
}
?>
Toutes les utilisations pertinentes des fonctions WordPress peuvent être trouvées dans le codex ou via la recherche Google.
0 commentaire