block_core_navigation_sort_menu_items_by_parent_id()WP 1.0

Sorts a standard array of menu items into a nested structure keyed by the id of the parent menu.

No Hooks.

Return

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.

block_core_navigation_sort_menu_items_by_parent_id() code WP 6.5.2

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;
}