Impostare il peso massimo di un ordine in WooCommerce

Ultima modifica il 29 Settembre 2020

ATTENZIONE: questo articolo è più vecchio di un anno, e potrebbe non essere più attuale, sei pregato di tenerne conto.

Snippet WooCommerce per impostare peso massimo per ordine

Aggiornamento di un articolo originale del 6-5-2015, per garantire la compatibilità con le versioni più recenti di WooCommerce.

Se si vendono francobolli, il problema probabilmente non sussiste, ma se per caso i prodotti in catalogo sono più pesanti, come trapani elettrici o forme di formaggio, potrebbe essere necessario porre un limite al peso complessivo dell’ordine.

Magari per non superare eventuali limiti imposto dalla logistica o dal servizio di spedizioni, o per non incappare in aumenti indesiderati delle spese di spedizione.

Qualunque sia il motivo, è possibile impostare il peso massimo di un ordine grazie ad un semplice snippet, con tanto di messaggio di avviso per il cliente.

Il codice che segue, opportunamente modificato, va inserito nel file delle funzioni del tema in uso, e come al solito è sempre meglio se si tratta di un tema child.

In questo esempio, fissiamo un limite massimo di 15 Kg per ordine.

add_action('woocommerce_check_cart_items','check_cart_weight');

function check_cart_weight(){
    global $woocommerce;
    $weight = $woocommerce->cart->cart_contents_weight;
    if( $weight > 15 ){
        wc_add_notice( sprintf( __( 'Il tuo ordine pesa %sKg ma sono consentiti solo 15Kg per ordine', 'woocommerce' ), $weight ), 'error' );
    }
}

Il limite di peso va definito alla riga 6.

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!

Ovviamente il valore si riferisce all’unità di peso definita nelle impostazioni dei prodotti in WooCommerce, che di default è impostato su Kilogrammi.

Alla riga 6, invece, è possibile personalizzare il messaggio di errore che compare nel carrello.

Superfluo dirlo, ma hai visto mai, è necessario che tutti i prodotti siano impostati correttamente con il loro peso, altrimenti i conti non tornano…

Questo snippet è stato testato su WordPress 5.4.1 e WooCommerce 4.2.0, temi Storefront, Flatsome e Astra Pro.

Che ne pensi?
Domande? Suggerimenti?
Lascia un commento…

Condividi se ti è piaciuto!

Condividi su facebook
Condividi su twitter
Condividi su linkedin
Condividi su whatsapp

Articoli correlati:

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!

21 risposte

  1. ciao , ma se al posto di dare un errore , e’ possibile fare in modo che lo script restituisca la spedizione su piu’ colli e quindi il calcolo delle spedizioni diventerebbe piu’ veritiero !!! sopratutto se si collegato con piattaforme automatiche , io ho riscontrato il problema ….se comprano 50 kg di farina sul mio sito , le piattaforme restitiscono il prezzo della psedizione calcolato su un pacco unico di 50 kg , che se lo fanno pagare un occhi della testa (ma sopratutto sarebbe uno scatolo enorme ) cosi’ pensavo che invece con la steessa tecnica , si riuscisse a suddividere la spedizione in automatico con piu’ pacchi , che paradossalmente una spedizione di 2 colli da 25 costa praticamente la meta’ !

    1. Ciao Claudio,

      restituire qualcosa di diverso da un errore è possibile, ovviamente, più difficile fare in modo che la spedizione venga “splittata” in più spedizioni più convenienti, anche perché è difficile che il sistema in modo automatico possa distinguere spedizioni realmente splittabili, o se si tratta di un unico collo non divisibile.

      Magari si può imbastire qualcosa di utile grazie alle classi di spedizione, alla prima occasione ci provo.

      rob

  2. Buongiorno, ho provato ad aggiungere il codice e funziona a meraviglia. Ma se volessi applicare la limitazione del peso solo in una determinata zona di spedizione come potrei fare?

    1. Ciao Alessandro, lo script calcola il peso totale dei prodotti nel carrello, non dovrebbe essere difficile anteporre un filtro per attivarlo solo in una determinata zona.

      Dovrei guardarci, non ci metto la mano sul fuoco ma dovrebbe funzionare.

      1. Concordo, il problema è che non riesco a trovare il nome della variabile “zona di spedizione”.
        Te hai definito il peso cosi:
        $weight = $woocommerce->cart->cart_contents_weight;
        Suppongo che la zona di spedizione sia richiamata nello stesso modo, solo non riesco a recuperare il nome della variabile. Se per caso lo conoscessi mi sarebbe davvero di aiuto! Graize mille del supporto

  3. Ciao! Grazie della risposta, evidente sbaglio a inserire il codice. Io l’ho copiato nella cartella functions.php a seguire dell’ultimo codice.

  4. Buongiorno, ho provato a copiare lo snippet nel file funztions.php del mio tema child ma non funziona. Come potrei fare?.Grazie.

    1. Ovviamente bisognerebbe verificare che tu l’abbia inserito correttamente, ma potrebbe essere che lo snippet non sia più compatibile con le versioni più recenti di WooCommerce.
      Appena ho un attimo di tempo lo faccio.

    2. Mi hai messo la curiosità addosso ed ho provato subito, e in realtà lo script funziona a dovere, impedendo l’ordine con tanto di avviso nel carrello se il peso supera quello indicato nello script.

      Temo allora che sia un problema di inserimento dello script, se hai bisogno di assistenza sono a disposizione.

    1. Ciao Rocco, l’articolo è del 2005, probabilmente è da aggiornare.
      Appena ho due minuti cerco la soluzione compatibile con le nuove versioni di WooCommerce.

      Grazie per la segnalazione!
      rob

      AGGIORNAMENTO, ho aggiornato script ed articolo.

    1. Buongiorno, vorrei sapere se ha scritto un nuovo codice dopo gli aggiornamenti di woocommerce.
      Grazie!

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.

Ciao, mi chiamo Roberto...

Mi occupo di progetti web, in particolare siti di e-commerce, ed aiuto molte aziende e professionisti a comunicare e vendere grazie ai loro siti web. 
Conosciamoci meglio…

Hai bisogno di aiuto o maggiori informazioni su questo articolo? Contattami:

Altri articoli

Rimaniamo in contatto!

Iscriviti alla mia newsletter per ricevere maggiori informazioni, consigli e barbatrucchi per migliorare la gestione del tuo sito e la tua esperienza sul web.

Riceverai una mail con un link per confermare la tua iscrizione.

Ciao, come posso aiutarti?