Disattivare metodi di spedizione woocommerce

Disattivare metodi di spedizione woocommerce

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

 

Francesca

3 commenti

Angelo Scritto il13:41 - 20 Gennaio 2017

Ho giusto il problema di nascondere altri metodi di spedizione, però non quando è gratuita, io vorrei dividere le spedizioni; una parte in base al peso, con un minimo d’ordine ( impostato a 8€, fino ad un massimo di 15€)per i prodotti alimentari, un’altra parte dove devo spedire un’altro prodotto (altra classe) in questo caso ho un costo unico al di là dell’ordinativo e quindi il costo fisso di 15€. Il tutto oltre al costo zero per il ritiro in sede.
Io vorrei che chi acquista gli alimentari noj abbia l’opzione di scelta delle api regine e viceversa. E’ possibile? Grazie per un tuo interessamento. Se è necessario fare un codice specifico puoi farmi un preventivo.

matteo Scritto il12:27 - 12 Ottobre 2016

buongiorno, ho provato ma non funziona.
questa funzione è disponibile con il vecchio sistema di spedizioni o anche con il nuovo suggerito da woocommerce con le zone di spedizione?grazie

    Francesca Roccabruna Scritto il16:29 - 27 Novembre 2016

    Non è stato testato con la nuova versione di woocommerce

Lascia un commento

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.

©2021 AGANIS WEB SOFTWARE di Francesca Roccabruna P.IVA TRENTO 02183500228 - N.REA 205930 La Web Agency per la realizzazione del tuo sito web
Privacy Policy