Come creare e applicare coupon in WooCommerce in modo programmatico

Pubblicato: 2020-09-26

Vuoi creare coupon e aggiungere sconti per aumentare il coinvolgimento dei clienti? In questa guida, ti mostreremo come creare e applicare un coupon in WooCommerce in modo programmatico . Ti mostreremo diversi esempi di cosa puoi fare per aumentare le tue vendite.

Perché usare i buoni sconto in WooCommerce?

La maggior parte dei siti di e-commerce ha tassi di conversione che raramente superano il 3%, quindi i proprietari di negozi sono sempre alla ricerca di modi per aumentare le vendite. Uno dei modi più efficaci per raggiungere questo obiettivo è utilizzare i buoni sconto.

Gli sconti possono fornire agli utenti un vantaggio aggiuntivo che può aiutarli a prendere una decisione e ad acquistare il tuo prodotto. Ad esempio, potresti utilizzare coupon per date importanti dell'eCommerce come Natale o Black Friday, offrire sconti per un tempo limitato, creare coupon per i tuoi clienti più fedeli e così via. Esistono molti modi in cui l'offerta di coupon può aiutare ad aumentare i tassi di conversione e aumentare le vendite.

Ecco perché in questa guida ti mostreremo come creare e applicare coupon in WooCommerce in modo programmatico .

Come creare e applicare un coupon in WooCommerce in modo programmatico

In questo tutorial imparerai come creare e aggiungere coupon WooCommerce in diversi modi:

  1. Crea coupon WooCommerce
  2. Applica il coupon a:
    1. Tutti i prodotti
    2. Prodotti specifici per ID
    3. Il valore del carrello del subtotale
    4. Il totale del carrello in base al numero di prodotti

Poiché modificherai il file functions.php del tema figlio, prima di iniziare devi installare un tema figlio. Puoi crearne uno o utilizzare un plug-in per temi figlio. Inoltre, tieni presente che utilizzeremo diversi hook di WooCommerce, quindi, se non li conosci, ti consigliamo di dare un'occhiata a questo post.

1) Crea coupon nelle impostazioni di WooCommerce

Prima di applicare i coupon, devi crearli. Quindi, il primo passo è creare un coupon in WooCommerce . Usando la funzione WooCommerce integrata puoi crearli facilmente in pochi clic.

Nella dashboard di WordPress, vai su WooCommerce > Coupon e fai clic su Aggiungi coupon . In alcune versioni di WooCommerce, potresti trovarlo in Marketing > Coupon . Quindi inserisci il nome di un codice coupon. Puoi digitare qualsiasi nome desideri o utilizzare un nome generato automaticamente. In questo caso, lo chiameremo auto_coupon .

Quindi, devi scegliere il tipo di sconto (percentuale, sconto carrello fisso o sconto prodotto fisso), l'importo (percentuale o importo fisso) e la data di scadenza. Puoi anche impostare i termini di restrizione dei prodotti per i quali si applica il coupon, l'importo minimo che i clienti devono spendere per applicare il coupon, limitare l'utilizzo per coupon o utente e molti altri.

Dopo aver impostato il coupon, premi Pubblica . Crea coupon woocommerce Vale la pena notare che puoi modificare qualsiasi di queste impostazioni in qualsiasi momento. Tieni solo presente che, se lo fai, dovrai modificare gli script che utilizzeremo in modo che corrispondano alle impostazioni del nuovo codice coupon.

Se desideri maggiori dettagli su come creare e impostare coupon in WooCommerce, puoi consultare questa guida passo passo.

Ora sai come creare coupon in WooCommerce . Diamo un'occhiata a come applicarli.

2.1) Applicare il coupon in modo programmatico a qualsiasi prodotto

Per prima cosa, vediamo come applicare un coupon a qualsiasi prodotto WooCommerce . Per questo, useremo l'hook woocommerce_before_cart per eseguire lo script prima che la pagina del carrello venga caricata. Inoltre, lavoreremo con l'oggetto carrello WooCommerce per recuperare le informazioni di cui abbiamo bisogno per eseguire la nostra convalida prima di applicare il codice coupon che abbiamo appena creato ( auto_coupon ).

L'oggetto WC()->cart è disponibile nelle pagine front-end e permette di recuperare tutte le informazioni relative alla pagina del carrello. Quindi incolla il seguente script nel file functions.php del tuo tema figlio:

 add_action('woocommerce_before_cart', 'QuadLayers_apply_coupon');
    funzione QuadLayers_apply_coupon() {
        $codice_cedola = 'cedola_automatica';
        if (WC()->carrello->has_discount($codice_cedola)) return;
        WC()->carrello->applica_coupon($codice_cedola);
        wc_print_notice();
    }

Come puoi vedere, stiamo usando una condizionale if() per verificare se il coupon è già stato applicato. Per saperlo, recuperi l'oggetto carrello WooCommerce in questo modo: WC()->cart->has_discount($coupon_code);

È importante notare che avrai bisogno di questo tipo di convalida in ogni singolo caso. Se non lo fai nel modo giusto, il coupon verrà aggiunto più volte o quando la pagina del carrello verrà ricaricata. Inoltre, nota che WC()->apply_coupon($coupon_code) è il modo in cui applichi il coupon definito alla pagina del carrello corrente.

2.3) Applica coupon WooCommerce a ID prodotto specifici

Un'altra opzione interessante è applicare un coupon a specifici ID prodotto WooCommerce . Per farlo, puoi usare il seguente script. Assicurati solo di modificare l'array $products_id() in modo che corrisponda ai tuoi ID prodotto.

 add_action( 'woocommerce_before_cart', 'QuadLayers_apply_matched_id_products');
funzione QuadLayers_apply_matched_id_products() {  
    
    // coupon creato in precedenza;
    $codice_cedola = 'cedola_automatica'; 
    // questo è il tuo array di ID prodotto  
    $ ID_prodotto = matrice( 664.624.619 ); 
    // Applica coupon. L'impostazione predefinita è falsa
    $applica=falso;
 
    // aggiunto al carrello prodotti loop
    foreach ( WC()->carrello->get_cart() as $cart_item_key => $cart_item ) {                      
        if ( in_array( $cart_item['id_prodotto'], $id_prodotto )):              
            // ID della corrispondenza del prodotto
            $applica=vero;
            rottura;                     
        finisci se;  
    }
    // applica e rimuovi coupon
    if($applica==vero):
        WC()->carrello->applica_coupon($codice_cedola);
        wc_print_notice();  
    altro:    
        WC()->carrello->remove_coupons( sanitize_text_field($codice_cedola));
        wc_print_notice();   
        WC()->carrello->calcola_totali();    
    finisci se; 
}

Qui, abbiamo utilizzato un ciclo foreach() per scorrere tutti i prodotti che sono stati aggiunti al carrello. Se uno di essi corrisponde agli ID specificati, la variabile $apply viene impostata su true. In questo modo, la convalida applica semplicemente il coupon quando la variabile è true . In caso contrario, rimuove il coupon.

2.4) Applicare il coupon al valore del totale parziale del carrello

Ora, supponiamo che invece di aggiungere sconti in base ai prodotti, desideri applicare un coupon in WooCommerce quando i clienti spendono più di $ 50 nel tuo negozio. Questo è un ottimo modo per premiare i tuoi acquirenti e incoraggiarli a spendere di più sul tuo sito. Quindi, con la seguente funzione, puoi applicare un coupon solo quando il valore del totale parziale del carrello è superiore a 50.

 add_action('woocommerce_before_cart','QuadLayers_apply_coupon_cart_values');
funzione QuadLayers_apply_coupon_cart_values(){
     
       // coupon creato in precedenza
       $codice_cedola = 'cedola_automatica';           
       // ottieni il coupon
       $coupon_corrente = WC()->carrello->get_coupon();
       // ottieni il totale parziale del carrello
       $carrello_ST = WC()->carrello->subtotale;        
 
       // il coupon non è stato applicato prima che && conditional sia vero
       if(vuoto($coupon_corrente)&&$cart_ST>=50):
           // Applica coupon
           WC()->carrello->applica_coupon($codice_cedola);
           wc_print_notice();            
       // il coupon è stato applicato && condizionale è falso
       elseif(!empty($current_coupon)&&$cart_ST<50):
           WC()->carrello->remove_coupons(sanitize_text_field($coupon_code));
           wc_print_notice();       
           WC()->carrello->calcola_totali();
           echo '<div class="woocommerce_message">Il coupon è stato rimosso</div>';
       // Il condizionale è FALSO && non viene applicato alcun coupon
       else:// Non fare nulla 
           echo '<div class="woocommerce_message"> Errore sconosciuto</div>';
       finisci se;
}

Naturalmente, puoi sostituire $ 50 nello script con qualsiasi altro importo che abbia più senso per la tua attività. Applica il coupon WC quando il totale del carrello supera 50 Si noti inoltre che nel condizionale utilizziamo le stesse istanze dell'oggetto WC che usavamo prima per controllare esattamente quando aggiungiamo o rimuoviamo il coupon. Il WC()->cart->subtotal consente di conoscere il totale parziale del carrello, memorizzandone il valore nella variabile $cart_ST .

Infine, tieni presente che devi usare WC()->cart->calculate_totals(); per ricalcolare l'importo totale del carrello dopo aver applicato il coupon.

2.5) Applicare il coupon al totale del carrello in base al numero di prodotti nel carrello

Allo stesso modo, puoi utilizzare il seguente script per applicare un coupon WooCommerce in modo programmatico solo quando c'è un numero minimo di prodotti nel carrello . Ad esempio, supponiamo che tu voglia aggiungere uno sconto quando i clienti hanno 4 o più prodotti nel carrello:

 add_action('woocommerce_before_cart','QuadLayers_apply_coupon_cart_values');
funzione QuadLayers_apply_coupon_cart_values(){ 
        
        // coupon creato in precedenza
        $codice_cedola = 'cedola_automatica';            
        // ottieni il coupon
        $coupon_corrente = WC()->carrello->get_coupon();       
        // ottieni il conteggio dei prodotti
        $P_count =WC()->carrello->get_cart_contents_count();

        // il coupon non è stato applicato prima che && conditional sia vero
        if(vuoto($coupon_corrente)&&$P_count>=4):
            // Applica coupon
            WC()->carrello->applica_coupon($codice_cedola);
            wc_print_notice();             
        // il coupon è stato applicato && condizionale è falso
        elseif(!empty($current_coupon)&&$P_count<4):
            // rimuovi coupon
            WC()->carrello->remove_coupons( sanitize_text_field($codice_cedola));
            wc_print_notice();        
            WC()->carrello->calcola_totali();             
            echo '<div class="woocommerce_message"> Il coupon è stato rimosso</div>';
        // Il condizionale è FALSO && non viene applicato alcun coupon
        else:// Non fare nulla  
            echo '<div class="woocommerce_message"> Errore sconosciuto</div>';
        finisci se;
}

Se applicare uno sconto quando gli acquirenti acquistano 4 o più prodotti non ha molto senso per la tua attività, puoi sostituirlo con qualsiasi altro numero che desideri. La nuova variabile utilizzata qui è $P_count , dove viene memorizzata la quantità dei prodotti aggiunti al carrello. Ciò ti consente di avere un solido condizionale che aggiungerà o rimuoverà il coupon solo quando è richiesto. Applica coupon in WooCommerce - Coupon a seconda del numero di prodotti Questi sono solo alcuni esempi di come applicare un coupon WooCommerce in modo programmatico, ma le possibilità sono infinite. Prendi questi script come base e libera la tua creatività per creare i tuoi script!

Istanze di oggetti WC

Questo è l'elenco completo delle istanze di oggetti WooCommerce che abbiamo utilizzato in tutti gli script precedenti, più alcuni altri che potrebbero essere utili quando si desidera aggiungere sconti a livello di codice:

  • WC()->carrello->apply_coupon('coupon_code'); Applica il coupon specificato ai totali del carrello.
  • WC()->carrello->remove_coupons( 'codice_coupon'); Rimuove il coupon specificato dai totali del carrello.
  • WC()->carrello->has_discount('codice_cedola'); Restituisce indipendentemente dall'applicazione di uno sconto.
  • WC()->carrello->get_coupons(); Ottiene i coupon attualmente applicati, se esistenti.
  • WC()->carrello->subtotale; Ottiene il valore del carrello del totale parziale.
  • WC()->carrello->get_cart_contents_count(); Ottiene il numero di articoli nel carrello.
  • WC()->cart->get_cart() Restituisce il contenuto del carrello in un array.
  • WC()->carrello->calcola_totali(); Ricalcola i totali del carrello.
  • WC()->carrello->totale; Recupera il totale del carrello (dopo il calcolo).
  • WC()->carrello->è_vuoto(); Controlla se il carrello è vuoto. Restituisce bollo.
  • WC()->carrello->get_coupon_discount_amount('coupon_code'); Ottiene l'importo dello sconto per un codice coupon specificato.
  • WC()->carrello->bisogno_pagamento(); Verifica se è richiesto il pagamento. Restituisce bollo.

Bonus: come applicare automaticamente un coupon in WooCommerce con un plug-in

In questa sezione, ti mostreremo come applicare automaticamente i coupon utilizzando gli URL dei coupon. Il grande vantaggio è che i clienti non hanno bisogno di ricordare il codice quindi puoi inviarlo direttamente tramite la tua newsletter o social media. Quando gli utenti fanno clic sul collegamento, riceveranno automaticamente lo sconto applicato. Questi coupon sono un'opzione eccellente per aumentare le tue vendite durante date speciali come il Black Friday o il Natale o quando offri vendite flash nel tuo negozio.

Applica automaticamente coupon con coupon avanzati per WooCommerce

Per questo, utilizzeremo un plug-in gratuito chiamato Coupon avanzati per WooCommerce che puoi scaricare dal repository di WordPress.

  1. Innanzitutto, installa e attiva il plug-in.
  2. Quindi, nella dashboard di WordPress, vai su WooCommerce > Coupon per creare il link del tuo coupon. A seconda della versione di WooCommerce che utilizzi, potresti dover andare su Marketing > Coupon . Premi Aggiungi coupon .
  3. Nella schermata successiva, assegna un nome al tuo coupon e una descrizione (opzionale). Quindi inserisci i dettagli del coupon nella sezione Dati coupon . Devi scegliere il tipo di sconto (percentuale, carrello fisso o prodotto fisso) e l'importo dello sconto. Tieni presente che l'importo sarà una percentuale o un importo fisso a seconda del tipo di sconto scelto. Inoltre, puoi scegliere una data di scadenza e collegare lo sconto a un account affiliato.
  4. Nella scheda Restrizioni all'utilizzo , puoi impostare restrizioni per il tuo coupon. Ad esempio, puoi limitare la spesa minima o massima, limitare lo sconto per determinati prodotti e così via. Inoltre, in Limiti di utilizzo , puoi impostare un limite al numero di volte in cui il coupon può essere utilizzato e limitare l'utilizzo per utente. NOTA : ti consigliamo di limitare l'utilizzo per utente in modo che possano usarlo solo una volta.
  5. Successivamente, vai alla sezione Coupon URL e inserisci i dettagli del tuo coupon. Seleziona un URL in cui i clienti verranno reindirizzati e crea un messaggio di successo. Vedrai che verrà generato automaticamente un URL coupon. Tuttavia, se desideri personalizzarlo, puoi utilizzare la casella Sovrascrivi URL codice .
  6. Infine, premi Pubblica e il gioco è fatto!

Una volta creato l'URL del tuo coupon, promuovilo utilizzando la tua newsletter e i social media per aumentare le tue vendite!

Extra: come visualizzare il modulo per inserire il codice coupon per impostazione predefinita

Infine, vediamo come visualizzare il modulo per inserire i codici coupon di default per renderlo più evidente. Per fare ciò, puoi sovrascrivere il modello checkout/form-coupon.php nel tuo tema figlio e rimuovere style=display:none dalla riga di codice qui sotto:

 <form class="checkout_coupon" method="post">

Per ulteriori modi per modificare i campi del codice coupon WooCommerce, consulta questa guida .

Conclusione

Tutto sommato, gli sconti sono un ottimo modo per incoraggiare i tuoi clienti ad acquistare dal tuo negozio e aumentare le tue vendite. Puoi usarli per date importanti come Natale o Black Friday, per premiare i tuoi clienti fedeli o per promuovere vendite maggiori.

In questa guida hai imparato come creare un coupon in WooCommerce e come applicarlo in modo programmatico. Inoltre, abbiamo visto diversi esempi per applicare i coupon a:

  1. Tutti i prodotti
  2. Prodotti specifici per ID
  3. Il valore del carrello del subtotale
  4. Il totale del carrello in base al numero di prodotti nel carrello

Puoi prendere questi script come base e personalizzarli per ottenere il massimo dai coupon nel tuo negozio.

Infine, è importante notare che anche se coupon e sconti possono aiutarti ad aumentare i tassi di conversione, non dovresti abusarne. Assicurati di offrirli ai clienti giusti al momento giusto. Altrimenti, se offri costantemente sconti a qualcuno, ciò potrebbe influire sulla tua reputazione.

Per ulteriori guide per personalizzare il tuo negozio in modo programmatico, puoi dare un'occhiata alle seguenti guide:

  • Come modificare la pagina del negozio WooCommerce tramite la codifica?
  • WooCommerce aggiungi al carrello la funzione in modo programmatico
  • Aggiungi campi personalizzati alla pagina di pagamento

Hai usato questi script? Avete domande? Fatecelo sapere nella sezione commenti qui sotto!