Automattic\WooCommerce\StoreApi\Routes\V1

Products::get_route_response()protectedWC 1.0

Get a collection of posts and add the post title filter option to \WP_Query.

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

Хуков нет.

Возвращает

\WP_REST_Response.

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

// protected - в коде основоного (родительского) или дочернего класса
$result = $this->get_route_response( $request );
$request(\WP_REST_Request) (обязательный)
Request object.

Код Products::get_route_response() WC 8.7.0

protected function get_route_response( \WP_REST_Request $request ) {
	$response      = new \WP_REST_Response();
	$product_query = new ProductQuery();

	// Only get objects during GET requests.
	if ( \WP_REST_Server::READABLE === $request->get_method() ) {
		$query_results    = $product_query->get_objects( $request );
		$response_objects = [];

		foreach ( $query_results['objects'] as $object ) {
			$data               = rest_ensure_response( $this->schema->get_item_response( $object ) );
			$response_objects[] = $this->prepare_response_for_collection( $data );
		}

		$response->set_data( $response_objects );
	} else {
		$query_results = $product_query->get_results( $request );
	}

	$response = ( new Pagination() )->add_headers( $response, $request, $query_results['total'], $query_results['pages'] );
	$response->header( 'Last-Modified', $product_query->get_last_modified() );

	return $response;
}