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.

Хуков нет.

Возвращает

Массив. An array keyed by the id of the parent menu where each element is an array of menu items that belong to that parent.

Использование

block_core_navigation_sort_menu_items_by_parent_id( $menu_items );
$menu_items(массив) (обязательный)
Menu items to sort.

Код block_core_navigation_sort_menu_items_by_parent_id() WP 6.4.3

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