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