WP_List_Util::sort
Sorts the input array based on one or more orderby arguments.
Method of the class: WP_List_Util{}
No Hooks.
Returns
Array. The sorted array.
Usage
$WP_List_Util = new WP_List_Util(); $WP_List_Util->sort( $orderby, $order, $preserve_keys );
- $orderby(string|array)
- Either the field name to order by or an array of multiple orderby fields as $orderby => $order.
Default: empty array - $order(string)
- Either 'ASC' or 'DESC'. Only used if $orderby is a string.
Default: 'ASC' - $preserve_keys(true|false)
- Whether to preserve keys.
Default: false
Changelog
| Since 4.7.0 | Introduced. |
WP_List_Util::sort() WP List Util::sort code WP 6.9
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;
}