Automattic\WooCommerce\StoreApi\Utilities

CartController::get_variation_id_from_variation_data()protectedWC 1.0

Try to match request data to a variation ID and return the ID.

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

Хуков нет.

Возвращает

int. Matching variation ID.

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

// protected - в коде основоного (родительского) или дочернего класса
$result = $this->get_variation_id_from_variation_data( $request, $product );
$request(массив) (обязательный)
Add to cart request params.
$product(\WC_Product) (обязательный)
Product being added to the cart.

Код CartController::get_variation_id_from_variation_data() WC 8.7.0

protected function get_variation_id_from_variation_data( $request, $product ) {
	$data_store       = \WC_Data_Store::load( 'product' );
	$match_attributes = $request['variation'];
	$variation_id     = $data_store->find_matching_product_variation( $product, $match_attributes );

	if ( empty( $variation_id ) ) {
		throw new RouteException(
			'woocommerce_rest_variation_id_from_variation_data',
			__( 'No matching variation found.', 'woocommerce' ),
			400
		);
	}

	return $variation_id;
}