Automattic\WooCommerce\Internal\Fulfillments

FulfillmentsRenderer::filter_orders_list_table_querypublicWC 1.0

Apply the fulfillment status filter to the orders list.

Method of the class: FulfillmentsRenderer{}

No Hooks.

Returns

Array. The modified query arguments.

Usage

$FulfillmentsRenderer = new FulfillmentsRenderer();
$FulfillmentsRenderer->filter_orders_list_table_query( $args );
$args(array) (required)
The query arguments for the orders list.

FulfillmentsRenderer::filter_orders_list_table_query() code WC 10.3.3

public function filter_orders_list_table_query( $args ) {
	// This is a read-only filter on the admin orders table, so nonce verification is not required.
	// phpcs:ignore WordPress.Security.NonceVerification
	if ( isset( $_GET['fulfillment_status'] ) && ! empty( $_GET['fulfillment_status'] ) ) {
		// phpcs:ignore WordPress.Security.NonceVerification
		$fulfillment_status = sanitize_text_field( wp_unslash( $_GET['fulfillment_status'] ) );

		// Ensure the fulfillment status is one of the allowed values.
		if ( FulfillmentUtils::is_valid_order_fulfillment_status( $fulfillment_status ) ) {
			$meta_query = FulfillmentUtils::get_order_fulfillment_status_meta_query( $fulfillment_status );
			if ( ! empty( $meta_query ) ) {
				if ( ! isset( $args['meta_query'] ) ) {
					$args['meta_query'] = array(); // phpcs:ignore WordPress.DB.SlowDBQuery.slow_db_query_meta_query
				}
				$args['meta_query'][] = $meta_query;
			}
		}
	}

	return $args;
}