WP_List_Util::sort_callback
Callback to sort an array by specific fields.
Метод класса: WP_List_Util{}
Хуков нет.
Возвращает
int. 0 if both objects equal. -1 if second object should come first, 1 otherwise.
Использование
// private - только в коде основоного (родительского) класса $result = $this->sort_callback( $a, $b );
- $a(объект|массив) (обязательный)
- One object to compare.
- $b(объект|массив) (обязательный)
- The other object to compare.
Заметки
- Смотрите: WP_List_Util::sort()
Список изменений
| С версии 4.7.0 | Введена. |
Код WP_List_Util::sort_callback() WP List Util::sort callback WP 7.0
private function sort_callback( $a, $b ) {
if ( empty( $this->orderby ) ) {
return 0;
}
$a = (array) $a;
$b = (array) $b;
foreach ( $this->orderby as $field => $direction ) {
if ( ! isset( $a[ $field ] ) || ! isset( $b[ $field ] ) ) {
continue;
}
if ( $a[ $field ] == $b[ $field ] ) {
continue;
}
$results = 'DESC' === $direction ? array( 1, -1 ) : array( -1, 1 );
if ( is_numeric( $a[ $field ] ) && is_numeric( $b[ $field ] ) ) {
return ( $a[ $field ] < $b[ $field ] ) ? $results[0] : $results[1];
}
return 0 > strcmp( $a[ $field ], $b[ $field ] ) ? $results[0] : $results[1];
}
return 0;
}