WP_List_Util::sort( string|array $orderby = array(), string $order = 'ASC', bool $preserve_keys = false ): array
Sorts the input array 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:
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
Return
array The sorted array.
Source
File: wp-includes/class-wp-list-util.php
.
View all references
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. |