WC_API_Orders::query_orders()protectedWC 2.1

Helper method to get order post objects

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

Хуков нет.

Возвращает

WP_Query.

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

// protected - в коде основоного (родительского) или дочернего класса
$result = $this->query_orders( $args );
$args(массив) (обязательный)
request arguments for filtering query

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

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

Код WC_API_Orders::query_orders() WC 8.7.0

protected function query_orders( $args ) {

	// set base query arguments
	$query_args = array(
		'fields'      => 'ids',
		'post_type'   => $this->post_type,
		'post_status' => array_keys( wc_get_order_statuses() ),
	);

	// add status argument
	if ( ! empty( $args['status'] ) ) {
		$statuses                  = 'wc-' . str_replace( ',', ',wc-', $args['status'] );
		$statuses                  = explode( ',', $statuses );
		$query_args['post_status'] = $statuses;

		unset( $args['status'] );
	}

	if ( ! empty( $args['customer_id'] ) ) {
		$query_args['meta_query'] = array(
			array(
				'key'     => '_customer_user',
				'value'   => absint( $args['customer_id'] ),
				'compare' => '=',
			),
		);
	}

	$query_args = $this->merge_query_args( $query_args, $args );

	return new WP_Query( $query_args );
}