Automattic\WooCommerce\Internal\Fulfillments

FulfillmentUtils::get_order_fulfillment_status_meta_querypublic staticWC 1.0

Get the meta query for the order fulfillment status.

Method of the class: FulfillmentUtils{}

No Hooks.

Returns

Array. The meta query.

Usage

$result = FulfillmentUtils::get_order_fulfillment_status_meta_query( $statuses ): array;
$statuses(array|string) (required)
The fulfillment statuses, or single status.

FulfillmentUtils::get_order_fulfillment_status_meta_query() code WC 10.3.3

public static function get_order_fulfillment_status_meta_query( $statuses ): array {
	if ( is_string( $statuses ) ) {
		$statuses = array( $statuses );
	}

	$valid_statuses = array_filter( $statuses, array( self::class, 'is_valid_order_fulfillment_status' ) );
	if ( empty( $valid_statuses ) ) {
		return array();
	}

	if ( in_array( 'no_fulfillments', $valid_statuses, true ) ) {
		return array(
			'relation' => 'OR',
			array(
				'key'     => '_fulfillment_status',
				'value'   => $valid_statuses,
				'compare' => 'IN',
			),
			array(
				'key'     => '_fulfillment_status',
				'compare' => 'NOT EXISTS',
			),
		);
	}

	return array(
		'key'     => '_fulfillment_status',
		'value'   => $valid_statuses,
		'compare' => 'IN',
	);
}