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

Sorts the list, based on one or more orderby arguments.

Parameters

$orderby

(string|array) (Optional) Either the field name to order by or an array of multiple orderby fields as $orderby => $order.

Default value: array()

$order

(string) (Optional) Either 'ASC' or 'DESC'. Only used if $orderby is a string.

Default value: 'ASC'

$preserve_keys

(bool) (Optional) Whether to preserve keys.

Default value: false

Return

(array) The sorted array.

Source

File: wp-includes/class-wp-list-util.php

public function sort( $orderby = array(), $order = 'ASC', $preserve_keys = false ) {
		if ( empty( $orderby ) ) {
			return $this->output;
		}

		if ( is_string( $orderby ) ) {
			$orderby = array( $orderby => $order );
		}

		foreach ( $orderby as $field => $direction ) {
			$orderby[ $field ] = 'DESC' === strtoupper( $direction ) ? 'DESC' : 'ASC';
		}

		$this->orderby = $orderby;

		if ( $preserve_keys ) {
			uasort( $this->output, array( $this, 'sort_callback' ) );
		} else {
			usort( $this->output, array( $this, 'sort_callback' ) );
		}

		$this->orderby = array();

		return $this->output;
	}

Changelog

Version Description
4.7.0 Introduced.

© 2003–2021 WordPress Foundation
Licensed under the GNU GPLv2+ License.
https://developer.wordpress.org/reference/classes/wp_list_util/sort