Attention !

Cet article contient du code PHP et est destiné aux développeurs. Nous fournissons ce code à titre de courtoisie, mais nous n'offrons pas de support pour les personnalisations de code ou le développement tiers.

Pour obtenir de l'aide supplémentaire, veuillez consulter le tutoriel de WPBeginner sur l'ajout de code personnalisé.

Ignorer

Comment restreindre les coupons par montant

Introduction

Souhaitez-vous savoir comment restreindre les coupons en fonction d'un montant spécifié ? Ce tutoriel vous guidera dans le processus d'utilisation d'une action PHP pour empêcher le traitement des coupons lorsque leur valeur est inférieure à un seuil défini.

Par défaut, vous avez la possibilité de créer des coupons au format pourcentage ou montant fixe pour n'importe quel montant. Cependant, que se passe-t-il si vous saisissez par erreur 0,75 au lieu de 75 % ? Ce petit extrait de code peut vous aider à éviter de telles erreurs lors de la soumission de formulaires, et nous vous guiderons tout au long du processus dans ce tutoriel.

Pour en savoir plus sur l'utilisation des coupons, veuillez consulter ce guide utile.

Création du coupon

Pour commencer, créons un coupon. Dans ce tutoriel, nous allons créer un coupon avec un montant fixe de 0,75, même si notre intention est de le définir à 75 %. Ceci est juste à des fins de démonstration et pour souligner comment l'extrait que nous allons ajouter peut aider à la validation.

Pour créer un nouveau coupon, accédez à WPForms » Paiements » Coupons et cliquez sur Ajouter un nouveau coupon. Dans le champ Nom, donnez à votre coupon un nom qui vous semble logique à des fins d'organisation.

Ensuite, dans le champ Code, vous pouvez soit saisir manuellement un code de coupon, soit cliquer sur le bouton Générer le code pour permettre à WPForms de créer ce code pour vous. Dans le champ Montant, saisissez 0,75 et dans le menu déroulant, assurez-vous de sélectionner le symbole de la devise.

En sélectionnant le symbole de la devise, vous utilisez la réduction en montant fixe plutôt qu'un pourcentage.

Pour ce tutoriel, nous n'allons pas définir de date ou d'heure, nous allons donc faire défiler vers le bas, sélectionner les formulaires pour lesquels nous voulons utiliser ce coupon, puis cliquer sur Enregistrer le coupon pour sauvegarder vos modifications.

Pour restreindre les coupons, nous devons commencer par en créer un nouveau.

Création du formulaire

Maintenant que le coupon est configuré, il est temps de créer le formulaire. Pour toute aide sur la création de formulaires, veuillez consulter ce guide étape par étape.

créez votre formulaire et ajoutez vos champs

Une fois que nous avons ajouté le champ Coupon, vous remarquerez que le coupon est déjà attribué.

Notez que lorsque vous ajoutez le champ coupon, les coupons autorisés sont déjà attribués.

Ajout du snippet

Il est maintenant temps d'ajouter l'extrait de code. Si vous avez besoin d'aide sur comment et où ajouter des extraits de code, veuillez consulter ce tutoriel.

/*
 * Do not allow to submit coupons lower than 1.00.
 *
 * @link https://wpforms.com/developers/how-to-restrict-coupons-by-amount/
*/
 
function wpf_discard_low_coupons( $field_id, $field_submit, $form_data ) {
 
    $coupon = wpforms_coupons()->get( 'repository' )->get_coupon_by_code( $field_submit );
 
    if ( $coupon === null ) {
        return;
    }
 
    $currency = wpforms_get_currency();
 
    if ( $coupon->get_discount_type() === 'flat' && (float) $coupon->get_discount_amount() <= 1.00 ) {
        wpforms()->get( 'process' )->errors[ $form_data[ 'id' ] ][ $field_id ] = sprintf( /* translators: %s - Currency code name. */
            esc_html__( 'Coupon amount is less that 1.00 %s. Please, use another one.', 'your-translation-domain' ),
            $currency
        );
    }
}
add_action( "wpforms_process_validate_payment-coupon", 'wpf_discard_low_coupons', 10, 3 );

Et c'est tout ce dont vous avez besoin. Désormais, lorsqu'un visiteur utilise ce coupon, il ne pourra pas soumettre le formulaire.

En utilisant cet extrait de code pour restreindre les coupons, vous verrez une erreur sur le formulaire lorsque le coupon est utilisé.

Référence d'action : wpforms_process_validate_payment-coupon