kreamweb
6/28/2016 - 3:07 PM

woocommerce-shipping-filter

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;
	}
}