add_action('woocommerce_cart_calculate_fees', 'offre_3_achetes_1_offert', 20, 1); function offre_3_achetes_1_offert($cart) { if (is_admin() && !defined('DOING_AJAX')) return; // ID du produit concerné par l'offre $produit_cible_id = 7961; // 🔁 Remplace par l'ID de ton produit $quantite = 0; $prix_unitaire = 0; // Parcours des produits dans le panier foreach ($cart->get_cart() as $item) { if ($item['product_id'] == $produit_cible_id) { $quantite = $item['quantity']; $prix_unitaire = $item['data']->get_price(); } } // Appliquer l'offre : 1 offert pour chaque tranche de 4 produits if ($quantite >= 4) { $nombre_offerts = floor($quantite / 4); // 4ème gratuit $reduction = $prix_unitaire * $nombre_offerts; $cart->add_fee(__('Offre spéciale : 1 offert pour 3 achetés', 'woocommerce'), -$reduction); } }
1 / ?