Gestire ordini multipli di x in WooCommerce

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.

Tags: , , , ,

9 Risposte a “Gestire ordini multipli di x in WooCommerce”

  1. Debora 20 Mar 2019 at 11:41 #

    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

    • Roberto Rota 20 Mar 2019 at 11:43 #

      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…

  2. Xavier 20 Dic 2017 at 05:33 #

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

  3. Xavier 20 Dic 2017 at 05:21 #

    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.

  4. Michele Marziano 1 Apr 2016 at 18:49 #

    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!

    • Roberto Rota 1 Apr 2016 at 22:20 #

      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

      • michele 19 Apr 2016 at 12:24 #

        Hahahaha! Sì, infatti era proprio così…che pivello

  5. Andrea 26 Giu 2015 at 11:43 #

    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

    • Roberto Rota 26 Giu 2015 at 12:26 #

      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

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

Ciao, come posso aiutarti?
Powered by