WC_REST_Products_Controller::get_objectsprotectedWC 1.0

Get objects.

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

Хуков нет.

Возвращает

Массив.

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

// protected - в коде основоного (родительского) или дочернего класса
$result = $this->get_objects( $query_args );
$query_args(массив) (обязательный)
Query args.

Код WC_REST_Products_Controller::get_objects() WC 9.9.4

protected function get_objects( $query_args ) {
	$add_search_criteria = $this->search_sku_arg_value || $this->search_name_or_sku_tokens;

	// Add filters for search criteria in product postmeta via the lookup table.
	if ( $add_search_criteria ) {
		add_filter( 'posts_join', array( $this, 'add_search_criteria_to_wp_query_join' ) );
		add_filter( 'posts_where', array( $this, 'add_search_criteria_to_wp_query_where' ) );
	}

	// Add filters for excluding product statuses.
	if ( ! empty( $this->exclude_status ) ) {
		add_filter( 'posts_where', array( $this, 'exclude_product_statuses' ) );
	}

	$result = parent::get_objects( $query_args );

	// Remove filters for search criteria in product postmeta via the lookup table.
	if ( $add_search_criteria ) {
		remove_filter( 'posts_join', array( $this, 'add_search_criteria_to_wp_query_join' ) );
		remove_filter( 'posts_where', array( $this, 'add_search_criteria_to_wp_query_where' ) );

		$this->search_sku_arg_value = '';
	}

	// Remove filters for excluding product statuses.
	if ( ! empty( $this->exclude_status ) ) {
		remove_filter( 'posts_where', array( $this, 'exclude_product_statuses' ) );

		$this->exclude_status = array();
	}

	return $result;
}