Hide other methods – Free shipping
-
Hello, I have question, how to hook your shipping method.
I have this function to hide all other shipping methods, when Free Shiping is active (order amount is more then X);
– I am trying to hide all methods instead of yours. In case, if I use classic woo local pickup (local_pickup), it works fine, but I need to hook your method to show your “WC Pickup Store”./** * Hide shipping rates when free shipping is available, but keep "Local pickup" * Updated to support WooCommerce 2.6 Shipping Zones */ function hide_shipping_when_free_is_available( $rates, $package ) { $new_rates = array(); foreach ( $rates as $rate_id => $rate ) { // Only modify rates if free_shipping is present. if ( 'free_shipping' === $rate->method_id ) { $new_rates[ $rate_id ] = $rate; break; } } if ( ! empty( $new_rates ) ) { //Save local pickup if it's present. foreach ( $rates as $rate_id => $rate ) { if ('local_pickup' === $rate->method_id ) { $new_rates[ $rate_id ] = $rate; break; } } return $new_rates; } return $rates; } add_filter( 'woocommerce_package_rates', 'hide_shipping_when_free_is_available', 10, 2 );
It’s snippet directly from woo: https://docs.woocommerce.com/document/hide-other-shipping-methods-when-free-shipping-is-available/
Thank you so much for help ??
Viewing 4 replies - 1 through 4 (of 4 total)
Viewing 4 replies - 1 through 4 (of 4 total)
- The topic ‘Hide other methods – Free shipping’ is closed to new replies.