I have a wp_nav_menu “Main Menu” such as the following:
- Top Level (#menu-item-1)
- Sub Item
- Sub Item
- Top Level (#menu-item-2)
- Sub Item
- Top Level (#menu-item-3)
- Sub Item A
- Sub Item B
- Sub Item a.1
- Sub Item C
Then in my template I want to be able to echo wp_nav_menu Main Menu sub items for say top level with id of menu-item-3 where menu-item-3 is the current menu top item.
So something like this: (but that would actually work of course)
wp_nav_menu( array('menu' => 'Main Menu' 'menu-item-id' => '3' ));
And that would return:
- Sub Item A
- Sub Item B
- Sub Item a.1
- Sub Item C
If it matters this is so I can show the sub items as side menu interior based on which main menu item section your in dynamically. Thanks in advance!
To note, this is not a duplicate of, “http://wordpress.stackexchange.com/questions/2802/display-a-portion-branch-of-the-menu-tree-using-wp-nav-menu”. Though that page has several similar answers, none work as expected with the current version of WordPress. That is showing on particular submenu item and all of its, children, their children and so on (unlimited depth).
If I understand what you want correctly, you can do this with CSS. You’ll call wp_nav_menu normally and let it generate all of the links, but then you’ll hide all of them except for the submenu of the current page.
You’re CSS would look something like this,
Update: You can check out http://thataboycreative.com to see an example of where I’ve used this before. Here’s the relevant CSS from that example:
I created a plugin for this – make sure to pass the ID in as a STRING and not an Integer. Please rate my plugin – it is my first one! 🙂
Download Here
Another way I’ve done this is grabbing the posts directly, instead of using wp_nav_menu. This is based on the actual page structure, though, not the menu.
functions.php:
sidebar.php: