Cerca

Impostare il peso massimo di un ordine in WooCommerce

Snippet WooCommerce per impostare peso massimo per ordine
Snippet WooCommerce per impostare peso massimo per ordine

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.

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!

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

        1. Tempo dietro ho lavorato su uno script con get_shipping_country

          Così a naso ti direi di provare a cercare shipping_zone nella documentazione di WooCommerce

  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 utilizza Akismet per ridurre lo spam. Scopri come vengono elaborati i dati derivati dai commenti.