如果当前页面在菜单中,则仅显示菜单

时间:2013-02-23 20:46:42

标签: wordpress wordpress-theming

是否可以根据当前页面是否存在于菜单中有条件地显示菜单?

1 个答案:

答案 0 :(得分: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搜索找到。