Automattic\WooCommerce\Admin\API\Reports
DataStore::get_refund_subquery
Get join and where clauses for refunds based on user supplied parameters.
Метод класса: DataStore{}
Хуков нет.
Возвращает
Массив.
Использование
// protected - в коде основоного (родительского) или дочернего класса $result = $this->get_refund_subquery( $query_args );
- $query_args(массив) (обязательный)
- Parameters supplied by the user.
Код DataStore::get_refund_subquery() DataStore::get refund subquery WC 11.0.1
protected function get_refund_subquery( $query_args ) {
global $wpdb;
$table_name = $wpdb->prefix . 'wc_order_stats';
$sql_query = array(
'where_clause' => '',
'from_clause' => '',
);
if ( ! isset( $query_args['refunds'] ) ) {
return $sql_query;
}
if ( 'all' === $query_args['refunds'] ) {
$sql_query['where_clause'] .= 'parent_id != 0';
}
if ( 'none' === $query_args['refunds'] ) {
$sql_query['where_clause'] .= 'parent_id = 0';
}
if ( 'full' === $query_args['refunds'] || 'partial' === $query_args['refunds'] ) {
$operator = 'full' === $query_args['refunds'] ? '=' : '!=';
$sql_query['from_clause'] .= " JOIN {$table_name} parent_order_stats ON {$table_name}.parent_id = parent_order_stats.order_id";
$sql_query['where_clause'] .= "parent_order_stats.status {$operator} '{$this->normalize_order_status( 'refunded' )}'";
}
return $sql_query;
}