Come impostare un ordine minimo di acquisto in WooCommerce

ordine minimo woocommerce

WooCommerce, nonostante la sua facilità di utilizzo, a volte non soddisfa tutte le nostre esigenze o quelle dei nostri clienti.

Ad esempio, se si vuole inserire un ordine minimo di acquisto, non c’è una soluzione già integrata all’interno delle impostazioni del plugin. Come sempre, esistono vari modi per aggiungere nuove funzionalità a WordPress, ma spesso bisogna ricorrere ad altri plugin, oppure scrivere del codice PHP.

In questo articolo ti darò dei suggerimenti per raggiungere il risultato desiderato percorrendo entrambe le strade.

1. Soluzione senza plugin: modificare opportunamente il file functions.php

Il codice che sto per indicarti può essere inserito in due modi: all’interno di un plugin oppure dentro il file functions.php del tema.

Se le modifiche che devi effettuare sono solo queste, non ha senso creare un plugin ad hoc contenente queste poche righe di codice. Il mio suggerimento, quindi, è quello di fare ricorso al file functions.php, che puoi trovare all’interno della cartella principale del tema che stai utilizzando.

Ma attenzione!

In generale, per qualsiasi modifica sul codice di WordPress, sarebbe sempre meglio installare un Child Theme in una nuova cartella e creare un file functions.php ex novo.

Questo perché, quando vai a modificare direttamente i file della cartella principale del tuo tema, ad ogni futuro aggiornamento del tema perderai tutte le tue modifiche e personalizzazioni, dovendo rifare tutto da capo.

Al contrario, se lavori dentro il Child Theme, non avrai bisogno di rifare niente e tutto il tuo prezioso lavoro verrà conservato.

Se vuoi cominciare subito con il piede giusto e fare uso dei Child Theme, scarica subito questo mini-ebook gratuito.

2. Inserimento del codice PHP per inserire l’ordine minimo

Una volta aperto il file functions.php del tuo tema principale (o quello del Child Theme), il codice che dovrai inserire è il seguente:

add_action( 'woocommerce_checkout_process', 'blogwp_minimum_order' );
add_action( 'woocommerce_before_cart' , 'blogwp_minimum_order' );
 
function blogwp_minimum_order() {
    // Inseriamo il minimo ordine all'interno di una variabile, senza indicare la valuta
    $minimum = 15;

    if ( WC()->cart->total < $minimum ) { if( is_cart() ) { wc_print_notice( sprintf( 'È richiesto un ordine minimo di %s per concludere l'ordine. Il totale del tuo ordine attualmente è %s.' , wc_price( $minimum ), wc_price( WC()->cart->total )
                    ), 'error' 
             );

        } else {

         wc_add_notice( 
             sprintf( 'È richiesto un ordine minimo di %s per concludere l'ordine. Il totale del tuo ordine attualmente è %s.' , 
                      wc_price( $minimum ), 
                      wc_price( WC()->cart->total )
                    ), 'error' 
             );
       } // chiusura else
    } // chiusura del primo if
} // chiusura della funzione

Dove:

  • la variabile $minimum serve a decidere qual’è il prezzo minimo che deve essere raggiunto dall’utente per poter portare a termine l’ordine di acquisto
  • la funzione wc_price(), tra le altre cose, inserisce la valuta che è stata selezionata all’interno delle impostazioni di WooCommerce.

Inserendo queste poche righe di codice vedrai subito che, nella pagina carrello, verrà visualizzato un messaggio di errore finché il totale dell’ordine rimarrà inferiore all’importo da te indicato nella variabile $minimum (in questo caso 15,00 €). Inoltre, l’utente che non raggiungerà l’importo minimo non avrà nessuna possibilità di concludere gli ordini.

3. Miglioriamo la user experience inserendo un messaggio per l’utente

Come abbiamo appena detto, la procedura esposta fino ad ora permette di visualizzare un messaggio d’errore all’interno della pagina CARRELLO del sito, come nella figura seguente:

blogwp minimo ordine woocommerce carrello

Messaggio d’errore all’interno della pagina CARRELLO – tema “Storefront”

Questo è già un buon punto di partenza, ma cosa succede se l’utente va direttamente nella pagina CHECKOUT (CASSA) senza passare per il carrello (cosa altamente probabile nella maggior parte dei Temi compatibili con WooCommerce)?

Ecco cosa vedrà:

blogwp ordine minimo woocommerce checkout

Assenza di alcun messaggio d’errore all’interno della pagina CHECKOUT – tema “Storefront”

Per accorgersi quindi del limite dato dall’ordine minimo, l’utente dovrà prima riempire tutti i dati, e poi cliccare su “Effettua Ordine”.

Solo dopo aver cliccato sul bottone, infatti, comparirà un messaggio d’errore.

Per evitare questo piccolo inconveniente, è possibile aggiungere un altro hook tra quelli già inseriti, e fare in modo che il messaggio d’errore compaia subito anche in questa pagina.

Il codice da inserire, insieme agli altri hook, è il seguente:

add_action ('woocommerce_before_checkout_form', 'blogwp_minimum_order');

Il risultato sarà qualcosa di questo tipo:

blogwp woocommerce ordine minimo checkout

Messaggio d’errore all’interno della pagina CHECKOUT – tema “Storefront”

4. Non vuoi scrivere neanche una riga di codice? Ecco i migliori plugin.

Esistono vari plugin gratuiti, scaricabili direttamente dal sito ufficiale di WordPress (wordpress.org) ma, tra questi, quelli che prenderei in considerazione sono solo quelli con il maggior numero di installazioni attive, ovvero:

Minimum Order Amount for Woocommerce

Minimum Purchase for WooCommerce

Cliccando su questo link, invece, potrai trovare una lista dei plugin a pagamento acquistabili sul marketplace di Envato.

Sharing is caring :)

Se ti è piaciuto questo articolo, ti invito a mettere un like sulla mia pagina facebook oppure condividerlo sui social. Se invece hai qualche problema con la procedura appena descritta, lascia un commento oppure contattami attraverso questo contact form.

0 commenti

Lascia un Commento

Vuoi partecipare alla discussione?
Fornisci il tuo contributo!

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *