Filter coupons to remove when applying an individual use coupon.
Filtrer les coupons à supprimer lors de l'application d'un coupon à usage individuel.
array(
Sortie :
@param array $coupons Array of coupons to remove from the cart. @param \WC_Coupon $coupon Coupon object applied to the cart. @param array $applied_coupons Array of applied coupons already applied to the cart. @return array
// Gestion coupons usage unique
add_filter('woocommerce_apply_individual_use_coupon', 'gestion_coupon_exclusif', 10, 3);
function gestion_coupon_exclusif($apply, $coupon, $applied_coupons) {
// Garder le coupon le plus avantageux
$current_discount = 0;
foreach ($applied_coupons as $code) {
$existing = new WC_Coupon($code);
$existing_amount = WC()->cart->get_coupon_discount_amount($code);
if ($existing_amount > $current_discount) {
$current_discount = $existing_amount;
}
}
$new_discount = WC()->cart->get_coupon_discount_amount($coupon->get_code(), false);
// Appliquer si plus avantageux
return $new_discount > $current_discount;
}
Chargement des actualités...