block_core_navigation_sort_menu_items_by_parent_id()
Sorts a standard array of menu items into a nested structure keyed by the id of the parent menu.
No Hooks.
Returns
Array. An array keyed by the id of the parent menu where each element is an array of menu items that belong to that parent.
Usage
block_core_navigation_sort_menu_items_by_parent_id( $menu_items );
- $menu_items(array) (required)
- Menu items to sort.
Changelog
| Since 5.9.0 | Introduced. |
block_core_navigation_sort_menu_items_by_parent_id() block core navigation sort menu items by parent id code WP 6.9.1
function block_core_navigation_sort_menu_items_by_parent_id( $menu_items ) {
$sorted_menu_items = array();
foreach ( (array) $menu_items as $menu_item ) {
$sorted_menu_items[ $menu_item->menu_order ] = $menu_item;
}
unset( $menu_items, $menu_item );
$menu_items_by_parent_id = array();
foreach ( $sorted_menu_items as $menu_item ) {
$menu_items_by_parent_id[ $menu_item->menu_item_parent ][] = $menu_item;
}
return $menu_items_by_parent_id;
}