WordPress has some functions to help work with lists of objects. These are especially helpful when working with the nav menu objects or the query object.
wp_filter_object_list()
takes an array of objects and filters them by a given set of criteria. You get a result that only contains objects that match your criteria.
Once you get a list of the menu items you’d like to loop through, you can check conditions to output different things. For example, what’s the depth? What is the parent post id? etc.
After that, grab the relevant information from the associated post id.
I hope that helps.
Related Posts:
- WordPress admin menu formatting issue
- The Great WordPress Admin Menu Challenge of Jan 2011 (a.k.a. How to Resolve Some Challenges when Modifying the WordPress Admin Menu System?)
- Remove duplicate main – submenu in admin?
- Plugin View Details Link
- Add an admin page, but don’t show it on the admin menu
- Getting custom admin submenu item to highlight when its active
- Add update notification bubble to admin menu item?
- Are there any reasons you can’t use strings for admin menu positions?
- remove_menu_page doesn’t work on custom plugin menus
- List table not rendering when $this->items is filled
- Order Admin sub-menu items?
- How Can I remove or hide the export page in WordPress menu?
- How to check if an admin (sub)menu already exists?
- How to hide menu on WordPress admin
- custom admin menu with custom filed
- Add highlighting to new Admin Dashboard Menu Item
- Remove menus and submenus
- Highlighting a Menu Item by Post Name
- How to remove the Plugins Editor from the admin menu
- add logout button on admin side menu
- Admin custom option screen not saved unless user manage_options capability
- WordPress admin menu formatting issue
- Admin Menu – Highlight top-level menu when on a sub-menu page (without showing sub-menu)
- Show admin menu and toolbar in admin post page
- How to minimize WP dashboard menu programmatically?
- How to change menu page capability
- WordPress add_options_page() function not considering role
- How to determin which admin screen/sub screen I’m currently viewing
- Add post-new.php?post_cat=catslug to admin menu
- How do I insert the smaller variant of an image?
- Why add_menu_page adds admin.php and how to remove it?
- Is there any way to add absolute path for add_menu_page function?
- Admin menu bar dropdown opens when I click on a form element (Chrome) [closed]
- how can i add custom menu in admin panel?
- Change URL of plugin admin menu
- How to add_menu_page include a php file page from theme directory
- How do I demote a menu item in the admin menu?
- Is it possible to pass variables from add_user_page?
- place a direct link to custom-stylesheet, under appearance menu in wp-admin
- Is there a limit to the number of items that can be added using the Appearance Menus Screen?
- Wrong current class on admin menu with add_submenu_page()
- Role capability issue
- Adding a submenu to the Tools menu returns tools.php in a popup box
- What action/filter/function determines “current” class in WP Admin Menu
- ‘Headers already sent’ Error When Redirecting from add_submenu_page() Callback
- Use Drag & Drop Functionality from WordPress Admin Area in the Frontend?
- Adding admin top-level menus
- Disordered sidebar in admin panel of self-hosted blog network [duplicate]
- How to rename Profile link in wp-admin page
- Additional menu item popping in submenus
- toolbar not visible on pages using front-page template
- Visiting a console submenu page does not expand its parent menu item
- How to align the top of an admin pointer to the target element?
- Disable new Site Health screen safely?
- Adding menu item to WordPress admin bar for editors to edit one plugin’s settings
- Moving Smush plugin menu position to media submenu and removing it from main menu
- add submenu page doesn’t display
- Moving the WordPress dashboard avatar over the admin menu
- WordPress plugins add parent menu option in admin main right
- update_option does not work in this scenario – how do I fix?
- Change menu order of core post-type in UI?
- How to reference an existing css content-based icon, within my admin menu hook
- Margin problem on management menu?
- How can I move Customizer menu item to first level in WP Dashboard?
- How can I restrict a custom WordPress role access to only a specific plugin?
- How can I reorder admin bar items?
- Admin sidebar customization
- Show limited menu to admin
- How would one add a nonce to a menu item in the WordPress dashboard?
- How can I change the admin menu title and url title on WordPress
- Different Admin language
- add_menu_page not show link for custom role
- Linked pages not working with wordpress
- Unable to add custom page to WordPress admin panel
- Insert link in sub menu – Admin panel
- How to add a notification next to custom admin menu?
- How to have submenus collapsed until they are clicked?
- admin menu: use default “general” page for theme settings using add_menu_page and add_submenu_page
- no themes or editor under appearance menu
- How to redirect one admin URL to another when admin page URL has “/admin.php?page=” in it?
- how to remove wp admin menu created by plugin
- Renaming post to something else, breaks dashboard if edit_posts is false
- Headers already sent error when creating multiple admin menu’s
- Removing admin menu items with white spaces
- Admin tabs for custom plugin
- Restricted access for other user roles
- How Do I create multiple Top Level Admin Menu Pages To submit data to the options table?
- How can I modify text in admin bar?
- Settings API – Checkboxes validation in a menu with multiple subpages
- How to include the admin bar?
- Remove the theme info from main dashboard screen- not appearance
- How to add admin bar only page?
- Hiding an added admin page menu using css
- Turn on again old expandable menu
- How can I style my theme admin page?
- How to unset adminmenu completely?
- Responsive Admin Themes
- Add items to the dark menu in WordPress
- Adding admin link to Appearance via admin_menu, adds link to theme details modal
- Remove menu pages only for non admin