woocommerce_add_to_cart_sold_individually_quantity, 1, $quantity, $product_id, $variation_id, $cart_item_data

woocommerce_add_to_cart_sold_individually_quantity, 1, $quantity, $product_id, $variation_id, $cart_item_data

Appears in:
Hook Type: filter

See hook in core

Displaying hooks found in version: woocommerce.11.0.0

apply_filters('woocommerce_add_to_cart_sold_individually_quantity, 1, $quantity, $product_id, $variation_id, $cart_item_data') is found 2 times:

  • /includes/class-wc-cart-session.php line 622
     
    			$product_data = wc_get_product( $variation_id ? $variation_id : $product_id );
    			if ( $product_data instanceof WC_Product && $product_data->is_sold_individually() ) {
    				// phpcs:ignore WooCommerce.Commenting.CommentHooks.MissingHookComment -- Filter documented in CartController::validate_add_to_cart().
    				$quantity = apply_filters( 'woocommerce_add_to_cart_sold_individually_quantity', 1, $quantity, $product_id, $variation_id, $cart_item_data );
    
    				$cart_id = WC()->cart->generate_cart_id( $product_id, $variation_id, $variations, $cart_item_data );
    				// phpcs:ignore WooCommerce.Commenting.CommentHooks.MissingHookComment -- Filter first added in WC_Cart::add_to_cart(), add documentation there.
    				$found_in_cart = apply_filters( 'woocommerce_add_to_cart_sold_individually_found_in_cart', isset( $cart[ $cart_id ] ) && isset( $cart[ $cart_id ]['quantity'] ) && $cart[ $cart_id ]['quantity'] > 0, $product_id, $variation_id, $cart_item_data, $cart_id );
    				if ( $found_in_cart ) {
    					/* translators: %s: product name */
    
  • /includes/class-wc-cart.php line 1304
    			$cart_item_key = $this->find_product_in_cart( $cart_id );
    
    			// Force quantity to 1 if sold individually and check for existing item in cart.
    			if ( $product_data->is_sold_individually() ) {
    				$quantity      = apply_filters( 'woocommerce_add_to_cart_sold_individually_quantity', 1, $quantity, $product_id, $variation_id, $cart_item_data );
    				$found_in_cart = apply_filters( 'woocommerce_add_to_cart_sold_individually_found_in_cart', $cart_item_key && $this->cart_contents[ $cart_item_key ]['quantity'] > 0, $product_id, $variation_id, $cart_item_data, $cart_id );
    
    				if ( $found_in_cart ) {
    					/* translators: %s: product name */
    					$message = sprintf( __( 'You cannot add another "%s" to your cart.', 'woocommerce' ), $product_data->get_name() );