woocommerce remove shipping if product of X shipping method is in cart

So, if we need to hide shipping, if the buyer has some item of specific shipping class, in this case ‘recolha-em-armazem’, we can use this code, on functions.php of our theme.

// Replace 'shipping-class' with the specific shipping class you want to force the local pick up upon
// To make it more readable, replace $shippingClass with your class name, eg : $hugeProducts

function my_hide_shipping_when_local_is_available( $rates ) {
    $cart_items = WC()->cart->get_cart();
    $shippingClass = false;
    
    foreach ( $cart_items as $cart_item ) {
		$product = $cart_item['data'];
		$class   = $product->get_shipping_class();
		
		if ( 'recolha-em-armazem' == $class ) {
			$shippingClass = true;
		}
	}
    
	$local = array();
	foreach ( $rates as $rate_id => $rate ) {
		if ('local_pickup' === $rate->method_id ) {
            $local[ $rate_id ] = $rate;
        }
	}
    
    if ( !empty($local) && ($shippingClass == true) ) {
        return $local;
    } else {
        return $rates;
    }

}

add_filter( 'woocommerce_package_rates', 'my_hide_shipping_when_local_is_available', 100 );

As seen on https://gist.github.com/kane-c/5e4d53601564ed667fb9

I had to create a custom js code to select the shipping method, ’cause buyer wasn’t able to select the shipping method… this snippet might not be need… or u need to tweak it a little bit…

jQuery(document).ready(function( $ ){ 
   if ( $('#shipping_method li').length == 1 )
   {
      setInterval(function() {
 
jQuery('#shipping_method_0_local_pickup3').clone().attr('type','radio').insertAfter('#shipping_method_0_local_pickup3').prev().remove();

      jQuery('#shipping_method_0_local_pickup3').attr('checked',true);
      jQuery('p.woocommerce-shipping-destination').hide();
      jQuery('form.woocommerce-shipping-calculator').hide();
              
              }, 500);
    }

Jitsi – best video conferences

The world’s best video conferences are built on Jitsi.

Jitsi is a set of open-source projects that allows you to easily build and deploy secure videoconferencing solutions. At the heart of Jitsi are Jitsi Videobridge and Jitsi Meet, which let you have conferences on the internet, while other projects in the community enable other features such as audio, dial-in, recording, and simulcasting.

Jitsi started life as a way to talk to people over the internet using audio and video. Over the course of a decade, though, it’s become so much more. Today, Jitsi is:

Continue reading Jitsi – best video conferences