2

現在のページがメニューに存在するかどうかに基づいて、条件付きでメニューを表示することは可能ですか?

4

1 に答える 1

4

次のコードを使用できます。すべてのメニューのすべてのアイテムをループし、アイテムが存在するかどうかを確認します。存在する場合は、メニューを表示して次のメニューに進みます。

    <?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;
            }
        }
    }
    ?>

関連するすべての Wordpress 関数の使用法は、コーデックスまたは Google 検索で見つけることができます。

于 2013-02-24T09:03:47.287 に答える