Automattic\WooCommerce\Internal\Abilities\Domain

OrdersQuery::build_modified_date_query_argprivate staticWC 1.0

Build a modified-date query arg from modified_after/modified_before input.

Method of the class: OrdersQuery{}

No Hooks.

Returns

Array|null.

Usage

$result = OrdersQuery::build_modified_date_query_arg( $input ): ?array;
$input(array) (required)
Ability input.

OrdersQuery::build_modified_date_query_arg() code WC 11.0.1

private static function build_modified_date_query_arg( array $input ): ?array {
	$after  = isset( $input['modified_after'] ) && is_string( $input['modified_after'] ) ? sanitize_text_field( $input['modified_after'] ) : '';
	$before = isset( $input['modified_before'] ) && is_string( $input['modified_before'] ) ? sanitize_text_field( $input['modified_before'] ) : '';

	if ( '' === $after && '' === $before ) {
		return null;
	}

	$after_timestamp  = '' !== $after ? self::prepare_date_time_for_query( $after ) : null;
	$before_timestamp = '' !== $before ? self::prepare_date_time_for_query( $before ) : null;

	if (
		( '' !== $after && null === $after_timestamp )
		|| ( '' !== $before && null === $before_timestamp )
	) {
		return null;
	}

	$date_query = array(
		'column'    => 'post_modified_gmt',
		'inclusive' => false,
	);

	if ( null !== $after_timestamp ) {
		$date_query['after'] = self::format_timestamp_for_date_query( $after_timestamp );
	}

	if ( null !== $before_timestamp ) {
		$date_query['before'] = self::format_timestamp_for_date_query( $before_timestamp );
	}

	return $date_query;
}