In questo articolo parliamo di come disattivare uno o più metodi di spedizione in un e-commerce woocommerce, stiamo parlando del plugin e-commerce per eccellenza molto utilizzato oggi con WordPress.
Mi è capitata di recente la necessità di dover disattivare un metodo di spedizione in caso di particolari condizioni così è nata la necessità di costruire una funzione che andasse ad intervenire sulle modalità di spedizione disponibili.
In questo esempio vado a presentare 2 opzioni per disattivare una o più metodi di spedizione nel caso in cui si attivi la spedizione gratuita:
1. Disattivare SOLO la spedizione a tariffa unica
2. Disattivare TUTTE le spedizioni attive tranne la spedizione gratuita
Questa funzione va ovviamente inserita all’interno del file functions.php all’interno del nostro template wordpress attivo, in particolare la funzione indicata è compatibile con le versioni di woocommerce di versione uguale o superiore alla 2.1
In questo momento vi posso garantire che la funzione è correttamente funzionante sulla versione woocommerce 2.3.7
add_filter( 'woocommerce_package_rates', 'nascondi_spedizioni_se_spedizione_gratis_attiva', 10, 2 ); function nascondi_spedizioni_se_spedizione_gratis_attiva( $spedizioni, $package ) { // Se la spedizione gratuita è attiva if ( isset( $spedizioni['free_shipping'] ) ) { // 1. Disattiva solo la tariffa unica unset( $spedizioni['flat_rate'] ); // 2. Disattiva tutti i quelli attivi, abilitando solo la spedizione gratuita $gratuita = $spedizioni['free_shipping']; $spedizioni = array(); $spedizioni['free_shipping'] = $gratuita; } return $spedizioni; }
Sperando come sempre che i miei articoli vi siano stati utili vi invito in caso di domande o suggerimenti a lasciare un commento qui sotto.
3 commenti