WordPress как на ладони
Недорогой хостинг для сайтов на WordPress: wordpress.jino.ru Платформа для конвертации и монетизации трафика
функция не описана

Automattic\WooCommerce\Admin\API\Reports

DataStore::get_status_subquery() protected WC 1.0

Returns order status subquery to be used in WHERE SQL query, based on query arguments from the user.

{} Это метод класса: DataStore{}

Хуков нет.

Возвращает

Строку.

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

// protected - в коде основоного (родительского) или дочернего класса
$result = $this->get_status_subquery( $query_args, $operator );
$query_args(массив) (обязательный)
Parameters supplied by the user.
$operator(строка)
AND or OR, based on match query argument.
По умолчанию: 'AND'

Код DataStore::get_status_subquery() WC 4.7.1

<?php
protected function get_status_subquery( $query_args, $operator = 'AND' ) {
	global $wpdb;

	$subqueries        = array();
	$excluded_statuses = array();
	if ( isset( $query_args['status_is'] ) && is_array( $query_args['status_is'] ) && count( $query_args['status_is'] ) > 0 ) {
		$allowed_statuses = array_map( array( $this, 'normalize_order_status' ), $query_args['status_is'] );
		if ( $allowed_statuses ) {
			$subqueries[] = "{$wpdb->prefix}wc_order_stats.status IN ( '" . implode( "','", $allowed_statuses ) . "' )";
		}
	}

	if ( isset( $query_args['status_is_not'] ) && is_array( $query_args['status_is_not'] ) && count( $query_args['status_is_not'] ) > 0 ) {
		$excluded_statuses = array_map( array( $this, 'normalize_order_status' ), $query_args['status_is_not'] );
	}

	if ( ( ! isset( $query_args['status_is'] ) || empty( $query_args['status_is'] ) )
		&& ( ! isset( $query_args['status_is_not'] ) || empty( $query_args['status_is_not'] ) )
	) {
		$excluded_statuses = array_map( array( $this, 'normalize_order_status' ), $this->get_excluded_report_order_statuses() );
	}

	if ( $excluded_statuses ) {
		$subqueries[] = "{$wpdb->prefix}wc_order_stats.status NOT IN ( '" . implode( "','", $excluded_statuses ) . "' )";
	}

	return implode( " $operator ", $subqueries );
}