WC_API_Products::get_product()publicWC 2.1

Get the product for the given ID

Method of the class: WC_API_Products{}

Hooks from the method

Return

Array|WP_Error.

Usage

$WC_API_Products = new WC_API_Products();
$WC_API_Products->get_product( $id, $fields );
$id(int) (required)
the product ID
$fields(string)
-
Default: null

Changelog

Since 2.1 Introduced.

WC_API_Products::get_product() code WC 8.7.0

public function get_product( $id, $fields = null ) {

	$id = $this->validate_request( $id, 'product', 'read' );

	if ( is_wp_error( $id ) ) {
		return $id;
	}

	$product = wc_get_product( $id );

	// add data that applies to every product type
	$product_data = $this->get_product_data( $product );

	// add variations to variable products
	if ( $product->is_type( 'variable' ) && $product->has_child() ) {
		$product_data['variations'] = $this->get_variation_data( $product );
	}

	// add the parent product data to an individual variation
	if ( $product->is_type( 'variation' ) && $product->get_parent_id() ) {
		$product_data['parent'] = $this->get_product_data( $product->get_parent_id() );
	}

	// Add grouped products data
	if ( $product->is_type( 'grouped' ) && $product->has_child() ) {
		$product_data['grouped_products'] = $this->get_grouped_products_data( $product );
	}

	if ( $product->is_type( 'simple' ) ) {
		$parent_id = $product->get_parent_id();
		if ( ! empty( $parent_id ) ) {
			$_product               = wc_get_product( $parent_id );
			$product_data['parent'] = $this->get_product_data( $_product );
		}
	}

	return array( 'product' => apply_filters( 'woocommerce_api_product_response', $product_data, $product, $fields, $this->server ) );
}