WordPress : Afficher le menu uniquement si la page actuelle est dans le menu

Publié par Jean-Michel le

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.

Catégories : Wordpress

Jean-Michel

Jean-Michel est en charge de la partie blog du site. Il met en place la stratégie de contenu et répond aux questions fréquentes sur Wordpress.

0 commentaire

Laisser un commentaire

Avatar placeholder

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *