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 功能用法都可以在 codex 中找到,也可以通过 Google Search 找到。

于 2013-02-24T09:03:47.287 回答