Impostare il peso massimo di un ordine in WooCommerce

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

Maggori informazioni:

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.

CONTRIBUISCI A QUESTO SITO
Se il mio lavoro ti è stato di aiuto,
e vuoi che io continui a publbicare,
contribuisci allo sviluppo di questo sito
con una donazione su PayPal.

15 commenti su “Impostare il peso massimo di un ordine in WooCommerce”

  1. 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

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

  3. 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.

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.

Cerca nel sito:

Assistenza specializzata WordPress e WooCommerce

Altri articoli

Mandami un messaggio

Ciao, come posso aiutarti?