WooCommerce: come impostare un ordine minimo di acquisto o di prodotti

Come impostare un ordine minimo o un numero minimo di prodotti su WooCommerce

WooCommerce è un plugin estremamente potente e personalizzabile, che permette a tutti di creare un e-commerce con facilità.
Tuttavia, per poter effettuare delle personalizzazioni particolari, non sempre le soluzioni integrate nel plugin bastano. A volte è necessario ricorrere a plugin aggiuntivi, oppure scrivere qualche riga di codice personalizzato per aggiungere una determinata funzione al nostro e-commerce.

Come nel caso in cui volessimo impostare un ordine minimo di acquisto, oppure un numero minimo di prodotti su WooCommerce prima che l’utente possa effettuare l’acquisto.
Si tratta di una personalizzazione molto utile in alcuni casi, ma che WooCommerce “base” non permette.

Uno dei migliori hosting italiani rapporto qualità prezzo, VHosting è l'ideale per chi chi cerca un hosting performante e un supporto di qualità.

Ecco perché, in questo articolo, vedremo sia come scegliere un ordine minimo di acquisto, sia come scegliere un numero minimo di prodotti prima che un utente possa effettuare l’acquisto.

Prima di cominciare

Prima di iniziare a vedere come personalizzare WooCommerce impostando un ordine minimo di acquisto o un ordine minimo di prodotti, vediamo quali sono i requisiti necessari.

Siccome sarà necessario incollare qualche riga di codice PHP, è richiesta l’installazione di un child theme. Se già possiedi un child theme allora è tutto ok, altrimenti puoi dare un’occhiata alla nostra guida su come creare un child theme per WordPress.

In alternativa, se proprio non vuoi usare un child theme per personalizzare il tuo sito WordPress, puoi utilizzare un plugin che ti permetta di inserire codice PHP personalizzato.
In questo caso puoi leggere il nostro articolo su come inserire codice PHP su WordPress.

Ovviamente, sconsigliamo fortemente di inserire codice personalizzato all’interno del tema genitore del tuo sito WordPress altrimenti, al successivo aggiornamento del tema, perderai il codice personalizzato precedentemente inserito.

Come impostare un ordine minimo di acquisto

Il lavoro da fare è molto semplice, sarà sufficiente incollare il seguente codice PHP nel file functions.php (se si sta utilizzando un child theme), oppure creare un nuovo snippet e incollare il seguente codice (se si sta utilizzando il plugin PHP Snippets).

add_action( 'woocommerce_checkout_process', 'wpspecial_imposta_ordine_minimo_importo' );
add_action( 'woocommerce_before_cart' , 'wpspecial_imposta_ordine_minimo_importo' ); 
add_action( 'woocommerce_before_checkout_form', 'wpspecial_imposta_ordine_minimo_importo' );
function wpspecial_imposta_ordine_minimo_importo() {
    // Specifica l'importo minimo per l'acquisto
    $minimo_acquisto = 50;

    if ( WC()->cart->total < $minimo_acquisto ) {

        if( is_cart() ) {

            wc_print_notice( 
                sprintf( 'Devi effettuare un acquisto minimo di %s per completare un ordine, attualmente il tuo ordine è di %s.' , 
                    wc_price( $minimo_acquisto ), 
                    wc_price( WC()->cart->total )
                ), 'error' 
            );

        } else {

            wc_add_notice( 
                sprintf( 'Devi effettuare un acquisto minimo di %s per completare un ordine, attualmente il tuo ordine è di %s.' , 
                    wc_price( $minimo_acquisto ), 
                    wc_price( WC()->cart->total )
                ), 'error' 
            );

        }
    }
}

L’unica variabile su cui dobbiamo agire è $minimo_acquisto, alla quale dovremo inserire l’importo minimo richiesto per poter completare l’ordine.

Ad esempio, se vogliamo che l’ordine minimo debba essere di 50€, allora dovremo impostare 50 (senza inserire la valuta).

In questo modo, se l’utente entrerà nel carrello o andrà a fare il checkout prima che l’importo totale abbia superato 50€, apparirà il seguente messaggio:

Messaggio per ordine minimo di acquisto su WooCommerce
Messaggio per ordine minimo di acquisto su WooCommerce

E non solo, ovviamente l’utente non solo vedrà il messaggio di errore, ma non potrà terminare l’ordine fino a quando non avrà superato il limite minimo di acquisto che abbiamo impostato.

Come impostare un numero minimo di prodotti

A differenza del caso precedente in cui impostavamo un importo minimo di acquisto, in questo caso imposteremo un numero di prodotti minimo per poter effettuare un ordine.

Come abbiamo visto prima, sarà sufficiente incollare il seguente codice PHP nel file functions.php del proprio child theme oppure, se non si sta utilizzando un tema child, creare un nuovo snippet e incollare il seguente codice tramite il plugin PHP Snippets.

add_action( 'woocommerce_checkout_process', 'wpspecial_imposta_ordine_minimo_prodotti' );
add_action( 'woocommerce_before_cart' , 'wpspecial_imposta_ordine_minimo_prodotti' );
add_action( 'woocommerce_before_checkout_form', 'wpspecial_imposta_ordine_minimo_prodotti' );
function wpspecial_imposta_ordine_minimo_prodotti() {
    // Specifica l'ordine minimo dei prodotti da acquistare
    $minimo_prodotti = 5;

    if ( WC()->cart->cart_contents_count < $minimo_prodotti ) {

        if( is_cart() ) {

            wc_print_notice( 
                sprintf( 'Devi acquistare almeno %s prodotti per completare un ordine, attualmente hai %s prodotti nel carrello.' , 
                    $minimo_prodotti, 
                    WC()->cart->cart_contents_count
                ), 'error' 
            );

        } else {

            wc_add_notice( 
                sprintf( 'Devi acquistare almeno %s prodotti per completare un ordine, attualmente hai %s prodotti nel carrello.' , 
                    $minimo_prodotti, 
                    WC()->cart->cart_contents_count
                ), 'error' 
            );

        }
    }
}

Dobbiamo personalizzare la variabile $minimo_prodotti andando ad inserire il numero minimo di prodotti che l’utente deve avere nel carrello per poter procedere all’acquisto.

Ad esempio, se vogliamo che l’utente acquisti almeno 5 prodotti, dobbiamo impostare la variabile a 5.
In caso contrario, apparirà un messaggio di errore di questo tipo:

Messaggio per numero minimo di prodotti su WooCommerce
Messaggio per numero minimo di prodotti su WooCommerce

Il messaggio apparirà nel carrello e nella pagina di checkout se l’utente non avrà almeno 5 prodotti nel carrello.

Conclusioni

In questo articolo abbiamo visto come personalizzare le funzionalità di un sito fatto con WooCommerce andando ad impostare un importo minimo di acquisto, oppure un numero minimo di prodotti prima di poter procedere all’acquisto.

E tu? Conosci altri modi per poter aggiungere queste funzionalità ad un sito WordPress? Magari qualche plugin? Faccelo sapere tramite il modulo dei commenti 😉

Sei in cerca di un form per il tuo sito WordPress? Con Gravity Forms puoi creare tutti i form di cui hai bisogno, dai più semplici form di contatto fino a complessi form per le tue attività!

Piaciuto l'articolo? Condividilo sui social!

13 commenti su “WooCommerce: come impostare un ordine minimo di acquisto o di prodotti

  1. Ciao , la tua guida mi è servita molto e devo dire, complimenti! ti chiedo se puoi realizzare una guida per dei prodotti bundles ovvero: se tu compri 4 prodotti la spedizione è gratuita ( quindi spedizione free in base al numero di prodotti) e invece se compri 8 prodotti ogni prodotto costerà N euro in meno e si avrà sempre la spedizione gratuita, grazie attendo tue

  2. Ciao, ho usato questo script e funziona! L’unica cosa è che l’importo minimo di acquisto comprende anche le spese di spedizione e mi trovo in una situazione simile:

    ESEMPIO:
    Acquisto minimo = euro 20
    Spese di spedizione (variabili in base al pese) = 8

    Se faccio acquisto di 12 euro mi fa fare il checkout.
    Ho provato quindi a impostare il minimo d’ordine su 28 ma poi l’alert mi dice “devi effettuare un ordine di minimo 28 euro”

    Help me!

    1. Ciao Paolo, quello che chiedi richiede una personalizzazione del codice. Puoi utilizzare la sezione di assistenza presente sul sito.
      Grazie

  3. Ciao,
    grazie per le informazioni, molto utili.
    Sarebbe possibile, con lo stesso codice, differenziare la quantità minima pezzi per ciascun prodotto? Ad esempio: prodotto A, attributo 1 – minimo 6 pezzi; prodotto A, attributo 2 – minimo 3 pezzi.
    Sarebbe una cosa possibile o devi personalizzare l’assistenza sulle mie esigenze?
    grazie!

    1. Ciao Riccardo, grazie mille per il tuo commento! Sì, è possibile realizzare quello che chiedi, ma temo che sia un lavoro personalizzato. Se desideri ricevere un preventivo, contattaci tramite la pagina Assistenza. Grazie mille per la tua comprensione!

  4. Ciao,
    ho usato questo le tue indicazioni ed effettivamente esce il messaggio di minimo dell’ordine richiesto, ma permette comunque di procedere con l’ordine come può essere? grazie in anticipo

    1. Ciao Noemi, bisognerebbe saperne di più sul tuo sito, i plugin attivi o eventuali altri snippet presenti. Puoi contattare la nostra assistenza WordPress per ricevere un analisi ed eventualmente un preventivo risolutivo.

  5. Ciao e grazie per la spiegazione esauriente.
    Mi trovo in una situazione dove ho 2 opzioni di consegna: a domicilio e ritiro in negozio.
    In questo secondo caso dovrei rimuovere l’importo minimo della spesa, come si può implementare?
    Grazie sin d’ora!

    1. Ciao Stefano, quello che chiedi richiede una personalizzazione del codice. Puoi utilizzare la sezione di assistenza presente sul sito.
      Grazie

  6. Grazie per il codice. L’ordine minimo viene impostato correttamente. L’unico problema è che nel totale calcola pure l’iva. Se volessi un importo minimo netto? Perchè ho impostato un limite di 500 ma passano anche ordini di 480 per dire…

    1. Ciao Angela, quello che chiedi richiede una personalizzazione del codice. Puoi utilizzare la sezione di assistenza presente sul sito.
      Grazie

I commenti sono chiusi.

Hey, aspetta!!!

Riceverai news e promozioni da parte di WP Special sul mondo WordPress. Niente spam, solo un paio di email al mese.

x