Home>Guide>Disabilitare le altre spese di spedizione se quella gratuita è disponibile in WooCommerce

Disabilitare le altre spese di spedizione se quella gratuita è disponibile in WooCommerce


Disabilitare le altre spese di spedizione se quella gratuita è disponibile in WooCommerce


WooCommerce, da buon e-commerce, permette di impostare diversi metodi di spedizione con relative tariffe, per poter gestire nel miglior modo possibile i costi di spedizione da applicare ai prodotti venduti sul tuo store online. Le spese di spedizione, possono essere differenziate eventualmente per zona e personalizzate ulteriormente con una serie di impostazione messe a disposizione di default da WooCommerce stesso.

  • Leggi l'articolo, ti bastano solo 2 minuti, 32 secondi
    Sei di fretta? Scarica il PDF e consultalo quando vuoi!

La spedizione gratuita: un caso particolare

Una delle configurazioni più spesso utilizzate, prevede la presenza di un costo forfettario fisso (“Flat rate”) ed a complemento l’eventuale spedizione gratuita (“Free shipping”), ma quest’ultima disponibile solo dopo aver raggiunto un totale carrello stabilito.

Per fare un esempio pratico:

Costo di spedizione fisso di € 10,00

Nessun costo di spedizione, se il totale carrello è almeno di € 100,00

Prova a replicare le impostazioni proposte e poi a simulare un percorso di acquisto superando la soglia di € 100,00, non noti niente di strano?


Un clamoroso bug?

I più attenti, si saranno accorti che nonostante si sia abilitata, come previsto, la spedizione gratuita, non è scomparso il metodo di spedizione a pagamento. Ti starai chiedendo: se c’è la spedizione gratuita, chi sceglierebbe volontariamente di pagare un supplemento per ricevere i propri prodotti?

No, non si tratta di un errore. Riflettendoci, molti e-commerce hanno diverse opzioni di spedizione, come ad esempio spedizione standard (magari gratuita) e spedizione veloce. In questo caso, è giusto che l’utente possa scegliere di ricevere più velocemente i propri acquisti, pagando un supplemento.

Ecco un esempio:


Lo scenario comune

Ma per shop online di piccole dimensioni non sempre ci sono scelte diverse. In questo caso, la presenza di spedizione gratuita e spedizione a pagamento posso sembrare un controsenso e magari apparire come un errore, o addirittura disorientare il cliente.

In questo caso, ecco un utilissimo snippet, che permette di disabilitare tutti gli ulteriori metodi di spedizione nel momento in cui la spedizione gratuita diventa disponibile.

Aggiungi quindi al file functions.php del tuo tema, che trovi nello spazio FTP del tuo sito, in:

wp-content/themes/{nome_del_tema}/

il codice:

// Rimuove gli altri metodi di spedizione se quello gratuito è attivo (WC 3.0+)
add_filter( 'woocommerce_package_rates', function( $rates ) {
	foreach ( $rates as $rate_id => $rate ) {
		if ( 'free_shipping' === $rate->method_id ) {
			return array( $rate_id => $rate );
		}
	}
	return $rates;
}, 100 );

Ed il gioco è fatto! Noterai che al raggiungimento della soglia minima per rendere disponibile la spedizione gratuita, questa sarà l’unica disponibile.

NB: il codice fa riferimento a versioni successive alla 3.0+ di WooCommerce.


Uno sguardo al passato...

Starai pensando: e se volessi ottenere lo stesso risultato, ma utilizzo una versione non aggiornata di WooCommerce? Nessun problema, ho pensato anche a te!

Nel caso in cui la tua versione di WooCommerce sia precedente alla 3.0+, inserisci nel file functions.php del tuo tema, che trovi nello spazio FTP del tuo sito, in:

wp-content/themes/{nome_del_tema}/

il codice:

// Rimuove gli altri metodi di spedizione se quello gratuito è attivo (WC 2.1+)
add_filter( 'woocommerce_available_shipping_methods', function( $available_methods ) {
    if ( isset( $available_methods['free_shipping'] ) && isset( $available_methods['flat_rate'] ) ) {
        unset( $available_methods['flat_rate'] );
    }
    return $available_methods;
}, 10, 1 );

ed otterrai il risultato desiderato.



Ti è piaciuto questo articolo? Regalami un click per ripagarmi dello sforzo



Code4Life ti è stato utile? Sostienici con una donazione!

Dona con PayPal

Hai trovato interessante l’articolo? Allora ti consiglio di leggere:

Personalizzare PrestaShop: la lista prodotti nel backend

Personalizzare PrestaShop: la lista prodotti nel backend


Ecco una guida per iniziare a personalizzare il tuo e-commerce in PrestaShop, aggiungendo una colonna alla lista dei prodotti in catalogo nel backend per una gestione più avanzata dei filtri.

Come inserire correttamente scripts e styles in WordPress

Come inserire correttamente scripts e styles in WordPress


Impariamo l’utilizzo delle funzioni messe a disposizione da WordPress per includere nel tuo sito files Javascript contenenti funzioni personalizzate o fogli di stile contenenti le regole CSS da applicare al tuo sito.

Oppure cerca tra gli articoli correlati


E tu cosa ne pensi? Condividi la tua opinione e discutiamone insieme
La tua email non sarà resa pubblico o utilizzata per inviarti spam, te lo prometto

Iscrivimi alla newsletter per ricevere news ed aggiornamenti
Utilizziamo piattaforme di terze parti per l’invio di newsletter. (Informativa sulla privacy)
Tienimi aggiornato su questo articolo
Ricevi una email di notifica quando qualcuno scriverà un commento a questo articolo. (Informativa sulla privacy)
Ricorda i miei dati per la prossima volta che scriverò un commento
Il tuo nome e la tua email verranno salvati in un cookie in questo browser. (Informativa sulla privacy)