woocommerce-shipping-filter
<?php
/* this function remove free shipping if the discount of dynamic is applied in the cart */
if( class_exists('YITH_WC_Dynamic_Discounts') ){
add_filter( 'woocommerce_shipping_packages', 'show_packages' );
function show_packages($packages){
$label = YITH_WC_Dynamic_Discounts()->label_coupon;
$newpack = $packages;
foreach ( $packages as $key_package => $package ) {
if( isset( $package['applied_coupons'] ) && in_array( $label, $package['applied_coupons'] ) ){
if ( sizeof( $package['rates'] ) > 0 ) {
foreach ( $package['rates'] as $key_rate => $rate ) {
if( $rate->method_id == 'free_shipping' ){
unset($newpack[$key_package]['rates'][$key_rate]);
}
}
}
}
}
return $newpack;
}
}