Created
June 8, 2015 08:37
-
-
Save woogist/aa376412c0a6d9558b04 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/** | |
* Check the cart for specific classes, remove UPS Shipping method if they are present | |
* | |
* REMOVE THE TOP <?php if there is no ?> before (or you have an error after adding this) | |
* | |
* Add the code to your theme functions.php file | |
*/ | |
add_filter( 'woocommerce_package_rates', 'unset_ups_shipping_method' , 10, 2 ); | |
function unset_ups_shipping_method( $rates, $package ) { | |
// Setup an array of shipping classes that do not allow UPS Shipping (@todo change this) | |
$shippingclass_array = array( 'no-ups' ); | |
/** | |
* loop through the cart looking for the products in the array above | |
* and unset the Free shipping methods as necessary | |
*/ | |
foreach ( WC()->cart->get_cart() as $cart_item_key => $values ) { | |
$shipping_class = get_the_terms( $values['product_id'], 'product_shipping_class' ); | |
if ( isset( $shipping_class[0]->slug ) && in_array( $shipping_class[0]->slug, $shippingclass_array ) ) { | |
/** | |
* Unset the shipping methods here | |
*/ | |
unset( $rates['ups:01'] ); | |
unset( $rates['ups:02'] ); | |
unset( $rates['ups:03'] ); | |
unset( $rates['ups:04'] ); | |
unset( $rates['ups:05'] ); | |
unset( $rates['ups:06'] ); | |
unset( $rates['ups:07'] ); | |
unset( $rates['ups:08'] ); | |
unset( $rates['ups:09'] ); | |
unset( $rates['ups:10'] ); | |
unset( $rates['ups:11'] ); | |
unset( $rates['ups:12'] ); | |
unset( $rates['ups:13'] ); | |
unset( $rates['ups:14'] ); | |
unset( $rates['ups:15'] ); | |
// The rates have been removed, no point in carrying on | |
//break; | |
} | |
} | |
// Return what's left of the $rates array | |
return $rates; | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment