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

WC_API_Resource::merge_query_args() protected WC 2.1

Add common request arguments to argument list before WP_Query is run

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

Хуков нет.

Возвращает

Массив.

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

// protected - в коде основоного (родительского) или дочернего класса
$result = $this->merge_query_args( $base_args, $request_args );
$base_args(массив) (обязательный)
required arguments for the query (e.g. post_type, etc)
$request_args(массив) (обязательный)
arguments provided in the request

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

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

Код WC_API_Resource::merge_query_args() WC 5.0.0

<?php
protected function merge_query_args( $base_args, $request_args ) {

	$args = array();

	// date
	if ( ! empty( $request_args['created_at_min'] ) || ! empty( $request_args['created_at_max'] ) || ! empty( $request_args['updated_at_min'] ) || ! empty( $request_args['updated_at_max'] ) ) {

		$args['date_query'] = array();

		// resources created after specified date
		if ( ! empty( $request_args['created_at_min'] ) ) {
			$args['date_query'][] = array( 'column' => 'post_date_gmt', 'after' => $this->server->parse_datetime( $request_args['created_at_min'] ), 'inclusive' => true );
		}

		// resources created before specified date
		if ( ! empty( $request_args['created_at_max'] ) ) {
			$args['date_query'][] = array( 'column' => 'post_date_gmt', 'before' => $this->server->parse_datetime( $request_args['created_at_max'] ), 'inclusive' => true );
		}

		// resources updated after specified date
		if ( ! empty( $request_args['updated_at_min'] ) ) {
			$args['date_query'][] = array( 'column' => 'post_modified_gmt', 'after' => $this->server->parse_datetime( $request_args['updated_at_min'] ), 'inclusive' => true );
		}

		// resources updated before specified date
		if ( ! empty( $request_args['updated_at_max'] ) ) {
			$args['date_query'][] = array( 'column' => 'post_modified_gmt', 'before' => $this->server->parse_datetime( $request_args['updated_at_max'] ), 'inclusive' => true );
		}
	}

	// search
	if ( ! empty( $request_args['q'] ) ) {
		$args['s'] = $request_args['q'];
	}

	// resources per response
	if ( ! empty( $request_args['limit'] ) ) {
		$args['posts_per_page'] = $request_args['limit'];
	}

	// resource offset
	if ( ! empty( $request_args['offset'] ) ) {
		$args['offset'] = $request_args['offset'];
	}

	// resource page
	$args['paged'] = ( isset( $request_args['page'] ) ) ? absint( $request_args['page'] ) : 1;

	return array_merge( $base_args, $args );
}