Nascondere altri metodi di spedizione se spedizione gratuita -Woocommerce-

DeveloperNewsTips & Tricks

Su woocommerce quando è disponibile la spedizione gratuita si aggiunge in automatico la possibilità di sceglierla ma rimangono selezionabili anche le altre!
Come ovviare al problema?
Come fare in modo se disponibile la spedizione gratuita dopo aver raggiunto i criteri per abilitarla e non mostrare le altre opzioni di spedizione?
Basta inserire una funzione php nel file function.php del nostro Tema o Tema Child per ottenere solo la spedizione Gratuita.
Aggiungi questa funzione nel file:

 

add_filter('woocommerce_package_rates', 'nascondere_altri_metodi_spedizione_se_presente_gratuita', 10, 2);

function nascondere_altri_metodi_spedizione_se_presente_gratuita($rates, $package) {

//nascondo SOLO se è presente la spedizione gratuita
if (isset($rates['free_shipping:2'])) { //<-- è necessario recuperare il codice della spedizione gratuita
unset($rates['flat_rate:1']); //<-- nascondo spedizione con corriere
}

return $rates;
}

 

Per ottenere il codice della spedizione basta ispezionare il codice della pagina e incollare il valore presente in value:

A questo punto dopo aver salvato il file functions.php del nostro Tema visualizzeremo solo la spedizione gratuita se raggiunge i nostri criteri impostati come minimo prezzo da raggiungere

Se inoltre vogliamo aggiungere un messaggio che mostra all’utente “Ottieni la spedizione gratuita se ordini…(valore desiderato)”

function wpspecial_qntmanca_spedizione_gratuita() {
$min_amount = 90;
$current = WC()->cart->subtotal;
if ( $current < $min_amount ) {
$added_text = '

Ottieni la spedizione gratuita se ordini ‘ . wc_price( $min_amount – $current ) . ‘ in più!

‘;
$return_to = wc_get_page_permalink( 'shop' );
$notice = sprintf( '%s %s', esc_url( $return_to ), 'Continua lo Shopping', $added_text );
wc_print_notice( $notice, 'notice' );
}

}
add_action( 'woocommerce_before_cart', 'wpspecial_qntmanca_spedizione_gratuita' );

function wpspecial_spedizione_gratuita_automatica( $rates, $package ) {
if ( isset( $rates['free_shipping:2'] ) ) {
unset( $rates['flat_rate:1'] );
}
return $rates;
}

In questo modo abbiamo aggiunto sia un messaggio che incentiva l’utente a raggiungere la cifra per ottenere la spedizione Gratuita di 90 (euro) e nel frattempo la visualizzazione delle sola spedizione Gratuita se raggiunge più di 90(euro) nascondendo tutte le altre!

Non perderti tutti gli aggiornamenti!

Non inviamo spam! Leggi la nostra Informativa sulla privacy per avere maggiori informazioni.

Tags: , , , , , ,

Potrebbe interessarti…

Intel, i chip dalle nuove Fab in Ohio potrebbero uscire in ritardo sui piani originari
Rendere eseguibile un file su iOS da terminale

Da leggere

Developer, News

Google e Woocommerce

Google e Woocommerce insieme per sincronizzare i prodotti! slogan WooCommerce: Raggiungi milioni di persone interessate grazie alle schede di prodotto gratuite e agli annunci…
Menu
%d