Nascondere altri metodi di spedizione se è presente la spedizione gratuita in 1 solo passo

Chi va a gestire un negozio in Woocommerce, a volte ha bisogno di gestire le spedizioni in modo automatico, in base quindi alle scelte e all’importo del carrello del cliente.

Ad esempio, potrebbe essere necessario nascondere altri metodi di spedizione se è presente la spedizione gratuita e se il carrello dell’utente ha raggiunto l’importo minimo per ricevere la spedizione gratuita.

Se quindi si crea la spedizione gratuita quando il carrello dell’utente è uguale o maggiore di 50€, tutti gli altri metodi di spedizione non saranno più disponibili.

Vediamo dunque come funzionano le spedizioni di default

In questo esempio è stata creata una zona di spedizione per l’Italia con due metodi di spedizione al suo interno:

  1. Spedizione a tariffa unica di €8,00
  2. Spedizione gratuita per ordini superiori a €50,00

Vediamo i metodi di spedizione più in dettaglio

All’interno del metodo di spedizione con la tariffa unica, è stato semplicemente aggiunto il costo della spedizione, come nella seguente immagine.

Qui abbiamo aggiunto un costo fisso per la spedizione

Nella spedizione gratuita, abbiamo invece questa schermata

Qui invece è stata aggiunta la spedizione gratuita condizionale, cioè se l’importo minimo dell’ordine è uguale o superiore a €50,00.

Poi ovviamente sono solo esempi, ma voi potrete andare ad aggiungere tutti i metodi di spedizione desiderati.

Come funzionano le spedizioni di Woocommerce di default

Di default, nella pagina del carrello di Woocommerce, l’utente potrà andare a selezionare il metodo di spedizione preferito.

Ad esempio, potreste avere la spedizione “Standard – 4, 5 giorni per la consegna” al costo di €8,00, e poi la spedizione “Express – 1, 2 giorni per la consegna” al costo di €12,00.

L’utente potrà quindi selezionare il metodo di spedizione che preferisce. Se ha bisogno della spedizione espressa, selezionerà il metodo di spedizione desiderato al costo indicato.

Nella pagina del carrello di Woocommerce però, succede che se è presente la spedizione gratuita e altri metodi di spedizione a pagamento, anche se si può usufruire della spedizione gratuita, si dà comunque la possibilità al cliente di scegliere.

Non è quindi il massimo far scegliere la spedizione gratuita al cliente se può già usufruirne perché ha raggiunto l’importo minimo dell’ordine.

Nel carello di Woocommerce l’utente vedrà una cosa simile:

Carrello di Woocommerce di default

Come si può notare, il totale del carrello è di €58,00, quindi il cliente potrebbe già usufruire della spedizione gratuita, però in questo caso deve selezionare il metodo di spedizione (anche se potrebbe usufruirne in automatico della spedizione gratuita)

Se invece rimuovessi un prodotto, quindi l’importo del carrello è inferiore a €50,00, l’unica opzione disponibile sarà quella a pagamento.

Carrello inferiore a €50,00.

Se volessimo fare la stessa cosa quando la spedizione gratuita è disponibile, quindi rimuovere gli altri metodi di spedizione, dobbiamo andare ad aggiungere una funzione in PHP e nascondere tutti gli altri metodi di spedizione, eccetto la spedizione gratuita.

Come andare ad aggiungere la funzione per nascondere altri metodi di spedizione se è presente la spedizione gratuita

Per nascondere i metodi di spedizione se la spedizione gratuita è disponibile, sarà sufficiente andare ad aggiungere questa funzione in PHP nel vostro file functions.php oppure in un plugin simile a Codesnippet. Leggi questo articolo per maggiori informazioni.

/*Mostra solo la spedizione gratuita se l'ordine è superiore a 50€*/
function nasconde_le_spedizioni_se_disponibile_quella_gratuita( $rates ) {
	$free = array();

	// Verifica se l'ordine è superiore a 99€
	$order_total = WC()->cart->get_subtotal();
	if ( $order_total > 99 ) {
		foreach ( $rates as $rate_id => $rate ) {
			if ( 'free_shipping' === $rate->method_id ) {
				$free[ $rate_id ] = $rate;
				break;
			}
		}
	}

	return ! empty( $free ) ? $free : $rates;
}
add_filter( 'woocommerce_package_rates', 'nasconde_le_spedizioni_se_disponibile_quella_gratuita', 100 );

È consigliabile aggiungere la funzione nel file functions.php del vostro tema child.

Andate quindi su Aspetto/Editor del tema e selezionate il file functions.php del vostro tema child.

Nascondere altri metodi di spedizione se è presente la spedizione gratuita

Inserite dentro la funzione, salvate e poi controllate il carrello.

Ora se il totale del carrello supera i 50€, l’unico metodo di spedizione disponibile sarà quello gratuito

Nascondere altri metodi di spedizione se è presente la spedizione gratuita

Conclusione

Non è stato difficile, vero?

Il bello di Woocommerce è proprio questo. Si riesce ad avere il controllo su ogni cosa, senza per forza andare ad installare plugin che non fanno altro che appesantire il sito.

Spero sia stato utile e come sempre ricordo che sono sempre disponibile a una call se doveste avere bisogno di me, per la creazione del sito web, modifiche, manutenzione e tanti altri servizi che potete trovare qua.

Articoli correlati

Se hai trovato questo articolo interessante, sicuramente ne troverai di altrettanto interessanti.