3

The WordPress function wp_get_nav_menu_items returns my whole site's navigation nested and all. Now if i want to get the nav menu for one "level" of that nested navigation only, how do I do that?

migrated from stackoverflow.com Feb 13 '12 at 22:56

This question came from our site for professional and enthusiast programmers.

3

Are you trying to display the posts from the top down a certain number of levels?

If so, use wp_nav_menu. It has an argument "depth" built just for this and it works painelssly.

wp_nav_menu(array('depth' => 2));

Also, http://codex.wordpress.org/Function_Reference/wp_nav_menu

4

If you want to return an array of items (not output like wp_nav_menu), you can try this:

$menu_name = 'your_menu_location';
if ( ( $locations = get_nav_menu_locations() ) && isset( $locations[ $menu_name ] ) ) {
    $menu = wp_get_nav_menu_object( $locations[ $menu_name ] );

    $menu_items = wp_get_nav_menu_items($menu->term_id);

    foreach ( (array) $menu_items as $key => $menu_item ) {
        if ($menu_item->menu_item_parent != 0 ) continue;
        $title = $menu_item->title;
        $url = $menu_item->url;

        DO WHAT EVER YOU WANT HERE 

    }
}   // endif has nav menu or not

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.