Automattic\WooCommerce\StoreApi\Utilities
CartController::set_cart_item_quantity()
Based on core set_quantity method, but validates if an item is sold individually first and enforces any limits in place.
Method of the class: CartController{}
No Hooks.
Return
null
. Nothing (null).
Usage
$CartController = new CartController(); $CartController->set_cart_item_quantity( $item_id, $quantity );
- $item_id(string) (required)
- Cart item id.
- $quantity(int)
- Cart quantity.
Default: 1
CartController::set_cart_item_quantity() CartController::set cart item quantity code WC 8.7.0
public function set_cart_item_quantity( $item_id, $quantity = 1 ) { $cart_item = $this->get_cart_item( $item_id ); if ( empty( $cart_item ) ) { throw new RouteException( 'woocommerce_rest_cart_invalid_key', __( 'Cart item does not exist.', 'woocommerce' ), 409 ); } $product = $cart_item['data']; if ( ! $product instanceof \WC_Product ) { throw new RouteException( 'woocommerce_rest_cart_invalid_product', __( 'Cart item is invalid.', 'woocommerce' ), 404 ); } $quantity_validation = ( new QuantityLimits() )->validate_cart_item_quantity( $quantity, $cart_item ); if ( is_wp_error( $quantity_validation ) ) { throw new RouteException( $quantity_validation->get_error_code(), $quantity_validation->get_error_message(), 400 ); } $cart = $this->get_cart_instance(); $cart->set_quantity( $item_id, $quantity ); }