Cerca

Gestire ordini multipli di x in WooCommerce

WooCommerce ordini per multipli
WooCommerce ordini per multipli

WooCommerce ordini per multipli

Revisione e adattamento alle nuove versioni di WooCommerce di un vecchio articolo, pubblicato originariamente il 27 Maggio 2015.

Prendiamo ad esempio lo store di un’azienda vinicola, che per motivi logistici deve vendere 6 bottiglie alla volta, e quindi permettere solo ordini dove il quantitativo deve essere 6 o un multiplo di 6.

Il solito snippet ci viene in aiuto.

Il codice che segue, che ho trovato in rete e personalizzato, deve essere copiato nel file delle funzioni del tema (al solito meglio se si tratta di un tema child).

add_action( 'woocommerce_check_cart_items', 'woocommerce_check_cart_multipli' );
function woocommerce_check_cart_multipli() {
    $multiples = 6;
    $total_products = 0;

    foreach ( WC()->cart->get_cart() as $cart_item_key => $values ) {
        $total_products += $values['quantity'];
    }
    if ( ( $total_products % $multiples ) > 0 )
        wc_add_notice( sprintf( __('È possibile acquistare solo multipli di %s prodotti', 'woocommerce'), $multiples ), 'error' );
}
Roberto Rota esperto WordPress e WooCommerce

Hai bisogno di aiuto con WooCommerce?

Se hai bisogno di assistenza per il tuo store WooCommerce, o anche solo per mettere in pratica queste istruzioni, contattami!

Le personalizzazioni devono essere fatte alle righe 3 e 10, dove bisogna indicare rispettivamente il numero di articoli ordinabili (o multipli dello stesso numero) ed il messaggio di errore da visualizzare nel carrello.

Questo snippet riguarda tutti gli articoli aggiunti al carrello, e si adatta bene ad uno store che vende solo articoli con questa problematica, calzante quindi l’esempio della casa vinicola che vende solo bottiglie.

Se la situazione è differente, e lo store prevede anche altri articoli che non hanno il problema logistico dei multipli, bisogna pensare ad una soluzione diversa, adattando questo snippet con filtri o condizionali.

Lo snippet è stato testato con WooCommerce 3.8 e WordPress 5.2.4.

Condividi se ti è piaciuto!

Altri articoli che potrebbero interessarti:

Picture of Roberto Rota

Roberto Rota

Libero professionista, un "artigiano del web", lavoro nella comunicazione in rete da quando esiste Internet. Mi occupo principalmente di assistenza su WordPress e assistenza e consulenza WooCommerce, seguo la realizzazione di progetti web, in particolare siti di e-commerce, visibilità e comunicazione in rete. Il mio curriculum è su Linkedin, e mi puoi trovare anche su Instagram, FaceBook e Twitter.

DAI IL TUO CONTRIBUTO

Se il mio lavoro ti è stato di aiuto, contribuisci alla continuità di questo sito.
Basta una piccola donazione su PayPal, una pizza e una birra alla tua salute!

14 risposte

  1. Molto bello, grazie come sempre Roberto.
    Ma per filtrare solo per la categoria vini ?
    Cosa bisogna aggiungere allo snippet ?
    Grazie infinite

  2. Salve
    ho letto questo articolo .. avrei bisogno di sapere qual’è la soluzione se: la situazione è differente, e lo store prevede anche altri articoli che non hanno il problema logistico dei multipli, bisogna pensare ad una soluzione diversa.
    Potrei ricevere un consiglià
    Grazie
    Attendo tue risp

    1. Ciao Giosuè, per diversificare il problema dei multipli tra prodotti o categorie diverse credo occorra intervenire a livello prodotto e non sul carrello, come lo script di questo articolo.

      Credevo di dovermene occupare subito dopo la stesura dell’articolo, invece non è stato così.

      Se mi capitasse, aggiornerò l’articolo, ma per ora non ho soluzioni a portata di mano.

      rob

  3. Ciao Roberto! A me purtroppo non funziona 😐
    L’ho inserito in fuction.php del child del tema in uso ma mi compare solo il testo del codice nell’header del sito. Sto sbagliando qualcosa?
    Grazie!
    deby

    1. Ciao Debora,

      a parte lo sminchiamento dello script che devo ancora sistemare, si tratta di uno script che ho pubblicato nel 2015, dovrei comunque verificarlo

      Appena posso lo faccio…

  4. Ho dimenticato di aggiungere che, ovviamente, il problema deriva dal fatto che l’imballaggio delle bottiglie avviene in sedi separate.

  5. Ciao Roberto. Stavo cercando una soluzione al mio problema e ho trovato il tuo articolo. Purtroppo io avrei la necessità di stabilire un multiplo di 3 per gruppi di prodotti con un determinato attributo e non solo per la quantità finale nel carrello. Mi spiego meglio:

    Ho già stabilito una quantità minima di 3 per la somma dei prodotti con l’attributo – cantina nel mio caso – A e la quantità minima di 6 per la somma dei prodotti con l’attributo – cantina – B. Vorrei però che il multiplo della somma dei prodotti con l’attributo A sia 3, idem per quelli con l’attributo B. Con lo snippet che hai condiviso e personalizzato mi ritroverei, scusami il termine, fregato nel caso un cliente acquistasse 4 (ad esempio 1+1+2) prodotti con l’attributo A e 8 (ad esempio 3+5) prodotti con l’attributo B. Avrei si, raggiunto il minimo d’ordine per ciascuno e un totale di 12 prodotti, quindi multiplo di 3, ma il mio cliente avrebbe un problema di gestione, perché non dispone di imballaggi da 1/2 bottiglie, ma solo da 3 e da 6.

    Sapresti aiutarmi? Grazie mille.

  6. Ciao Roberto,
    ho usato il codice xché mi serviva impostare un carrello con 6 pezzi o multipli di 6, grazie (ti ho anche pagato una pizza ;)). Ora ho un problema: non posso inserire nel carrello uno stesso pezzo/bottiglia più di una sola volta, mentre magari sarebbe meglio poterne inserire anche fino a 6 dello stesso tipo…
    Sono un neofita assoluto, hai idee/modifiche per il codice degli ordini multipli? Grazie!

    1. Non dovresti avere problemi ad inserire più bottiglie dello stesso tipo in un ordine, sei sicro di non aver flaggato l’opzione di ordine unico nel prodotto?

      rob

  7. Ciao, ho trovato davvero molto interessante il tuo articolo e mi ritrovo esattamente nella situazione differente descritta in fondo all’articolo.

    “Se la situazione è differente, e cioè lo store prevede anche altri articoli che non hanno il problema
    logistico delle bottiglie, per citare l’esempio poco sopra, bisogna pensare ad una soluzione diversa.”

    Per questo hai già trovato una soluzione? Oppure hai già in mente un qualcosa per aggirare la problematica?

    Ti ringrazio in anticipo e complimenti per gli articoli sempre molto interessanti.

    Andrea

    1. Ciao Andrea,

      non mi è capitato ancora di doverci pensare, ma credo che sfruttando a modino qualche regola con il condizionale si possono risolvere parecchie situazioni, direttamente per prodotti o per categorie ad esempio.

      rob

Lascia un commento

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

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.