Attenzione!

Questo articolo contiene codice PHP ed è destinato agli sviluppatori. Offriamo questo codice come cortesia, ma non forniamo supporto per personalizzazioni del codice o sviluppo di terze parti.

Per ulteriore assistenza, consulta il tutorial di WPBeginner su come aggiungere codice personalizzato.

Chiudi

Come limitare i coupon per importo

Introduzione

Sei interessato a come limitare i coupon in base a un importo specificato? Questo tutorial ti guiderà attraverso il processo di utilizzo di un'azione PHP per impedire l'elaborazione dei coupon quando il loro valore è inferiore a una soglia prestabilita.

Per impostazione predefinita, hai la possibilità di creare coupon in formato percentuale o tariffa fissa per qualsiasi importo. Tuttavia, cosa succede se inserisci erroneamente .75 invece di 75%? Questo piccolo snippet di codice può aiutarti a evitare tali errori nell'invio dei moduli e ti guideremo attraverso il processo in questo tutorial.

Per saperne di più sull'utilizzo dei coupon, ti preghiamo di consultare questa guida utile.

Creazione del coupon

Per iniziare, creiamo un coupon. In questo tutorial, creeremo un coupon con una tariffa fissa di .75, anche se la nostra intenzione è impostarlo al 75%. Questo è solo a scopo dimostrativo e per evidenziare come lo snippet che aggiungeremo può aiutare nella validazione.

Per creare un nuovo coupon, vai su WPForms » Pagamenti » Coupon e fai clic su Aggiungi Nuovo Coupon. Nel campo Nome, assegna al tuo coupon un nome che abbia senso per te a fini organizzativi.

Successivamente, nel campo Importo, puoi inserire manualmente un codice coupon o fare clic sul pulsante Genera Codice per consentire a WPForms di creare questo codice per te. Nel campo Importo, inserisci .75 e dal menu a discesa, assicurati di selezionare il simbolo della valuta.

Selezionando il simbolo della valuta, stai utilizzando lo sconto a tariffa fissa anziché una percentuale.

Per questo tutorial, non imposteremo una data o un'ora, quindi scorreremo verso il basso e selezioneremo i moduli che vogliamo utilizzare per questo coupon, quindi faremo clic su Salva Coupon per salvare le modifiche.

per limitare i coupon, dobbiamo iniziare creando un nuovo coupon

Creazione del modulo

Ora che il coupon è impostato, è ora di creare il modulo. Per qualsiasi assistenza su come creare moduli, ti preghiamo di consultare questa guida passo passo.

crea il tuo modulo e aggiungi i tuoi campi

Una volta aggiunto il campo Coupon, noterai che il coupon è già assegnato.

nota che quando aggiungi il campo coupon, i coupon consentiti sono già assegnati

Aggiunta dello snippet

Ora è il momento di aggiungere lo snippet. Se hai bisogno di aiuto su come e dove aggiungere snippet, ti preghiamo di consultare questo tutorial.

/*
 * 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 );

E questo è tutto ciò che ti serve: ogni volta che un visitatore utilizza quel coupon, non sarà in grado di inviare il modulo.

utilizzando questo snippet per limitare i coupon, vedrai un errore nel modulo quando il coupon viene utilizzato

Riferimento azione: wpforms_process_validate_payment-coupon