Automattic\WooCommerce\StoreApi\Routes\V1

ProductsBySlug::get_route_responseprotectedWC 1.0

Get a single item.

Method of the class: ProductsBySlug{}

No Hooks.

Returns

\WP_REST_Response.

Usage

// protected - for code of main (parent) or child class
$result = $this->get_route_response( $request );
$request(WP_REST_Request) (required)
Request object.

ProductsBySlug::get_route_response() code WC 10.8.1

protected function get_route_response( \WP_REST_Request $request ) {
	$slug = sanitize_title( $request['slug'] );

	$object = $this->get_product_by_slug( $slug );
	if ( ! $object ) {
		$object = $this->get_product_variation_by_slug( $slug );
	}

	if ( ! $object || 0 === $object->get_id() || ProductStatus::PUBLISH !== $object->get_status() ) {
		throw new RouteException( 'woocommerce_rest_product_invalid_slug', __( 'Invalid product slug.', 'woocommerce' ), 404 );
	}

	return $this->prepare_item_for_response( $object, $request );
}