WP_List_Util::sort_callback

Advertisement

Private Access Private Access

This function’s access is marked private. This means it is not intended for use by plugin or theme developers, only in other core functions. It is listed here for completeness. Use WP_List_Util::sort() instead.

Summery Summery

Callback to sort the list by specific fields.

Syntax Syntax

WP_List_Util::sort_callback( object|array $a, object|array $b )

Parameters Parameters

$a

(object|array) (Required) One object to compare.

$b

(object|array) (Required) The other object to compare.

Return Return

(int) 0 if both objects equal. -1 if second object should come first, 1 otherwise.

Source Source

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

	 * @see WP_List_Util::sort()
	 *
	 * @param object|array $a One object to compare.
	 * @param object|array $b The other object to compare.
	 * @return int 0 if both objects equal. -1 if second object should come first, 1 otherwise.
	 */
	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];
			}

Advertisement

Changelog Changelog

Changelog
Version Description
4.7.0 Introduced.

See also See also

Advertisement

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.