wpseek.com
A WordPress-centric search engine for devs and theme authors



block_core_navigation_sort_menu_items_by_parent_id › WordPress Function

Since5.9.0
Deprecatedn/a
block_core_navigation_sort_menu_items_by_parent_id ( $menu_items )
Parameters:
  • (array) $menu_items Menu items to sort.
    Required: Yes
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.
Defined at:
Codex:

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



Source

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

	/**
	 * Gets the inner blocks for the navigation block from the unstable location attribute.
	 *
	 * @since 6.5.0
	 *
	 * @param array $attributes The block attributes.
	 * @return WP_Block_List Returns the inner blocks for the navigation block.
	 */