I am trying to programmatically update the quantity of a specific product in the cart if certain criteria is met.
I can easily update the price of the cart items with the following:
add_action( 'woocommerce_before_calculate_totals', 'wwpa_simple_add_cart_price' );
function wwpa_simple_add_cart_price( $cart_object ) {
foreach ( $cart_object->cart_contents as $key => $value ) {
$value['data']->price = '1';
}}
In the function above I tried to add:
$value['data']->quantity= '10';
This doesn’t work but not quite sure how or if I can edit the quantity?
I also tried a these combinations that I found while digging around WooCommerce:
$value['data']->quantity= '10';
$value['data']->qty= '10';
$value['quantity'] = '10';
Again none of these worked.
There has been some changes to the WC_Cart class since this post originally got posted, so i updated it with the new changes.
To update the quantity:
How to get the $cart_item_key example:
And another example with a known cart_item_key:
Hope this helps:)