WP_Customize_Nav_Menu_Item_Setting::sort_wp_get_nav_menu_items()public staticWP 4.3.0

Re-apply the tail logic also applied on $items by wp_get_nav_menu_items().

Method of the class: WP_Customize_Nav_Menu_Item_Setting{}

No Hooks.

Return

WP_Post[]. Array of menu item objects.

Usage

$result = WP_Customize_Nav_Menu_Item_Setting::sort_wp_get_nav_menu_items( $items, $menu, $args );
$items(WP_Post[]) (required)
An array of menu item post objects.
$menu(WP_Term) (required)
The menu object.
$args(array) (required)
An array of arguments used to retrieve menu item objects.

Notes

Changelog

Since 4.3.0 Introduced.

WP_Customize_Nav_Menu_Item_Setting::sort_wp_get_nav_menu_items() code WP 6.5.2

public static function sort_wp_get_nav_menu_items( $items, $menu, $args ) {
	// @todo We should probably re-apply some constraints imposed by $args.
	unset( $args['include'] );

	// Remove invalid items only in front end.
	if ( ! is_admin() ) {
		$items = array_filter( $items, '_is_valid_nav_menu_item' );
	}

	if ( ARRAY_A === $args['output'] ) {
		$items = wp_list_sort(
			$items,
			array(
				$args['output_key'] => 'ASC',
			)
		);
		$i     = 1;

		foreach ( $items as $k => $item ) {
			$items[ $k ]->{$args['output_key']} = $i++;
		}
	}

	return $items;
}