WooCommerce. Como desactivar diferentes opciones de envío según país de destino
Ángel Julián Mena
Diseño y desarrollo de sitios, especialmente de comercio electrónico con WordPress y WooCommerce

El siguiente snipet que muestro a continuación te permite desactivar varios metodos de envió segun el país. Este se debe de colocar en el archivo functions.php del tema, o bién mejor aún en un gestor de snipets, a mi personalmente me gusta code snipet.

La configuración es añadiendo valores al array $country_list, se debe especificar el codigo de país ISO de 2 letras, y los metodos de envio que quieras desactivar de los que estén disponibles.


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


function wf_remove_shipping_options_for_particular_country($available_shipping_methods, $package){
global $woocommerce;

//Configura este array con la lista de paises y los diferentes metodos de envío a ocultar.
$country_list = array(
‘CA’ => array(‘wf_fedex_woocommerce_shipping’,’free_shipping’),
);

$customer_country = $woocommerce->customer->get_shipping_country();
if ( in_array( $customer_country , array_keys($country_list) ) ) {
if( !empty( $country_list[$customer_country] ) ){
foreach ($country_list[$customer_country] as $shipping_methods) {
foreach ($available_shipping_methods as $shipping_method => $value) {
if( strpos( $shipping_method, $shipping_methods ) !== false ) {
unset($available_shipping_methods[$shipping_method]);
}
}
}
}
}

return $available_shipping_methods;
}

Share on facebook
Facebook
Share on google
Google+
Share on twitter
Twitter
Share on linkedin
LinkedIn
Share on email
Email

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Recibe las novedades en tu buzón

Cookie policy
We use our own and third party cookies to allow us to understand how the site is used and to support our marketing campaigns.