WP_Date_Query::build_value()publicWP 3.7.0

Builds and validates a value string based on the comparison operator.

Метод класса: WP_Date_Query{}

Хуков нет.

Возвращает

Строку|false|int. The value to be used in SQL or false on error.

Использование

$WP_Date_Query = new WP_Date_Query();
$WP_Date_Query->build_value( $compare, $value );
$compare(строка) (обязательный)
The compare operator to use.
$value(строка|массив) (обязательный)
The value.

Список изменений

С версии 3.7.0 Введена.

Код WP_Date_Query::build_value() WP 6.5.2

public function build_value( $compare, $value ) {
	if ( ! isset( $value ) ) {
		return false;
	}

	switch ( $compare ) {
		case 'IN':
		case 'NOT IN':
			$value = (array) $value;

			// Remove non-numeric values.
			$value = array_filter( $value, 'is_numeric' );

			if ( empty( $value ) ) {
				return false;
			}

			return '(' . implode( ',', array_map( 'intval', $value ) ) . ')';

		case 'BETWEEN':
		case 'NOT BETWEEN':
			if ( ! is_array( $value ) || 2 !== count( $value ) ) {
				$value = array( $value, $value );
			} else {
				$value = array_values( $value );
			}

			// If either value is non-numeric, bail.
			foreach ( $value as $v ) {
				if ( ! is_numeric( $v ) ) {
					return false;
				}
			}

			$value = array_map( 'intval', $value );

			return $value[0] . ' AND ' . $value[1];

		default:
			if ( ! is_numeric( $value ) ) {
				return false;
			}

			return (int) $value;
	}
}