how to get particular product quantity from the cart page in the woocommerce
You can loop through cart items to get the quantity for a specific product id as follows:
// Set here your product ID (or variation ID)$targeted_id = 24;// Loop through cart itemsforeach ( WC()->cart->get_cart() as $cart_item ) { if( in_array( $targeted_id, array($cart_item['product_id'], $cart_item['variation_id']) ){ $quantity = $cart_item['quantity']; break; // stop the loop if product is found }}// Displaying the quantity if targeted product is in cartif( isset( $quantity ) && $quantity > 0 ) { printf( '<p>' . __("Quantity for Product ID %d is: %d") . '</p>, $targeted_id, $quantity );}
Or you can also use the WC_Cart
method get_cart_item_quantities()
as follow:
// Set here your product ID (or variation ID)$targeted_id = 24;// Get quantities for each item in cart (array of product id / quantity pairs)$quantities = WC()->cart->get_cart_item_quantities(); // Displaying the quantity if targeted product is in cartif( isset($quantities[$targeted_id]) && $quantities[$targeted_id] > 0 ) { printf( '<p>' . __("Quantity for Product ID %d is: %d") . '</p>, $targeted_id, $quantities[$targeted_id] );}
Note: This last way doesn't allow to target the parent variable product.
global $woocommerce; $items = $woocommerce->cart->get_cart(); foreach($items as $item => $values) { $_product = $values['data']->post; echo "<b>".$_product->post_title.'</b> <br> Quantity: '.$values['quantity'].'<br>'; $price = get_post_meta($values['product_id'] , '_price', true); echo " Price: ".$price."<br>"; }
$cart = WC()->cart->get_cart();$product_cart_id = WC()->cart->generate_cart_id( $product->get_id() );if( WC()->cart->find_product_in_cart( $product_cart_id )) { echo($cart[$product_cart_id]['quantity']);}