Automattic\WooCommerce\StoreApi\Routes\V1
CartUpdateItem::get_route_post_response
Handle the request and return a valid response for this endpoint. .
Method of the class: CartUpdateItem{}
Hooks from the method
Returns
\WP_REST_Response.
Usage
// protected - for code of main (parent) or child class $result = $this->get_route_post_response( $request );
- $request(WP_REST_Request) (required)
- Request object.
CartUpdateItem::get_route_post_response() CartUpdateItem::get route post response code WC 11.0.1
protected function get_route_post_response( \WP_REST_Request $request ) {
$cart = $this->cart_controller->get_cart_instance();
if ( isset( $request['quantity'] ) ) {
$cart_item = $cart->get_cart_item( $request['key'] );
$old_quantity = wc_stock_amount( $cart_item['quantity'] ?? 0 );
$new_quantity = wc_stock_amount( $request['quantity'] );
$this->cart_controller->set_cart_item_quantity( $request['key'], $new_quantity );
if ( $old_quantity !== $new_quantity ) {
/**
* Fires when a cart item quantity is updated from a user request.
*
* @param string $cart_item_key Cart item key.
* @param int|float $quantity New quantity.
* @param int|float $old_quantity Old quantity.
* @param \WC_Cart $cart Cart object.
*
* @since 10.6.0
*/
do_action( 'internal_woocommerce_cart_item_updated_from_user_request', $request['key'], $new_quantity, $old_quantity, $cart );
}
}
return rest_ensure_response( $this->schema->get_item_response( $cart ) );
}