woocommerce_coupon_is_valid

FILTER woocommerce\includes\class-wc-discounts.php (ligne 1148) github
Check if a coupon is valid. Error Codes: - 100: Invalid filtered. - 101: Invalid removed. - 102: Not yours removed. - 103: Already applied. - 104: Individual use only. - 105: Not exists. - 106: Usage limit reached. - 107: Expired. - 108: Minimum spend limit not met. - 109: Not applicable. - 110: Not valid for sale items. - 111: Missing coupon code. - 112: Maximum spend limit met. - 113: Excluded products. - 114: Excluded categories.
traduction française
Vérifier si un coupon est valide. Codes d'erreur : - 100 : Invalide filtré. - 101 : Invalide supprimé. - 102 : Pas le vôtre supprimé. - 103 : Déjà appliqué. - 104 : Usage individuel uniquement. - 105 : N'existe pas. - 106 : Limite d'utilisation atteinte. - 107 : Expiré. - 108 : Limite de dépense minimale non atteinte. - 109 : Sans objet. - 110 : Non valable pour les articles en solde. - 111 : Code promo manquant. - 112 : Limite de dépense maximale atteinte. - 113 : Produits exclus. - 114 : Catégories exclues.

Paramètres

Entrée :
true, $coupon, $this
Sortie :
@param WC_Coupon $coupon Coupon data.
@return bool|WP_Error

Utilisation

Validation personnalisée des coupons

Ajouter des règles de validation pour les codes promo

pricing
// Valider un coupon selon des conditions personnalisées
add_filter('woocommerce_coupon_is_valid', 'validation_coupon_personnalisee', 10, 2);

function validation_coupon_personnalisee($valid, $coupon) {
    // Bloquer si client n'a pas de commande précédente
    if (is_user_logged_in()) {
        $customer = new WC_Customer(get_current_user_id());
        $order_count = $customer->get_order_count();
        
        if ($order_count < 1 && $coupon->get_code() === 'CLIENT_FIDELE') {
            throw new Exception('Ce coupon est réservé aux clients fidèles.');
        }
    }
    
    return $valid;
}

Actualités

Chargement des actualités...