wp_list_sort( array $input_list, string|array $orderby = array(), string $order = 'ASC', bool $preserve_keys = false ): array

Sorts an array of objects or arrays based on one or more orderby arguments.


Parameters

$input_list array Required
An array of objects or arrays to sort.
$orderby string|array Optional
Either the field name to order by or an array of multiple orderby fields as $orderby => $order.

Default: array()

$order string Optional
Either 'ASC' or 'DESC'. Only used if $orderby is a string. Default 'ASC'.

Default: 'ASC'

$preserve_keys bool Optional
Whether to preserve keys.

Default: false


Top ↑

Return

array The sorted array.


Top ↑

Source

File: wp-includes/functions.php. View all references

function wp_list_sort( $input_list, $orderby = array(), $order = 'ASC', $preserve_keys = false ) {
	if ( ! is_array( $input_list ) ) {
		return array();
	}

	$util = new WP_List_Util( $input_list );

	return $util->sort( $orderby, $order, $preserve_keys );
}


Top ↑

Changelog

Changelog
Version Description
4.7.0 Introduced.

Top ↑

User Contributed Notes

  1. Skip to note 1 content
    Contributed by Felipe Elia

    Example of usage:

    $animals = [
    	'alligator' => [ 'name' => 'alligator', 'fly' => false, 'class' => 'reptile' ],
    	'dog'       => [ 'name' => 'dog',       'fly' => false, 'class' => 'mammal' ],
    	'cat'       => [ 'name' => 'cat',       'fly' => false, 'class' => 'mammal' ],
    	'falcon'    => [ 'name' => 'falcon',    'fly' => true,  'class' => 'bird' ],
    	'bat'       => [ 'name' => 'bat',       'fly' => true,  'class' => 'mammal' ],
    ];
    
    wp_list_sort( $animals, 'class' );
    // [
    //   0 => [ 'name' => 'falcon', ... ]
    //   1 => [ 'name' => 'cat', ... ]
    //   2 => [ 'name' => 'dog', ... ]
    //   3 => [ 'name' => 'bat', ... ]
    //   4 => [ 'name' => 'alligator', ... ]
    // ]
    
    wp_list_sort( $animals, 'name', 'DESC' );
    // [
    //   0 => [ 'name' => 'falcon', ... ]
    //   1 => [ 'name' => 'dog', ... ]
    //   2 => [ 'name' => 'cat', ... ]
    //   3 => [ 'name' => 'bat', ... ]
    //   4 => [ 'name' => 'alligator', ... ]
    // ]
    
    wp_list_sort( $animals, 'name', 'ASC', true );
    // [
    //   'alligator' => [ 'name' => 'alligator', ... ]
    //   'bat'       => [ 'name' => 'bat', ... ]
    //   'cat'       => [ 'name' => 'cat', ... ]
    //   'dog'       => [ 'name' => 'dog', ... ]
    //   'falcon'    => [ 'name' => 'falcon', ... ]
    // ]

You must log in before being able to contribute a note or feedback.