Skip to content

Instantly share code, notes, and snippets.

@maxrice
Created September 12, 2012 18:04
Show Gist options
  • Save maxrice/3708681 to your computer and use it in GitHub Desktop.
Save maxrice/3708681 to your computer and use it in GitHub Desktop.
Hide default flat rate shipping method when free shipping is available
// Hide standard shipping option when free shipping is available
add_filter( 'woocommerce_available_shipping_methods', 'hide_standard_shipping_when_free_is_available' , 10, 1 );
/**
* Hide Standard Shipping option when free shipping is available
*
* @param array $available_methods
*/
function hide_standard_shipping_when_free_is_available( $available_methods ) {
if( isset( $available_methods['free_shipping'] ) AND isset( $available_methods['flat_rate'] ) ) {
// remove standard shipping option
unset( $available_methods['flat_rate'] );
}
return $available_methods;
}
@alemarengo
Copy link

There's another gist (https://gist.github.com/mikejolley/11171530) where some discussed about this issue. I cannot believe I don't understand why this method doesn't affect my ecommerce. I need only local_pickup and free_shipping. I need to hide flat_rate even it exists and should stay there. How can I fix this? I'd be glad to receive your help. :)

@dsyvon
Copy link

dsyvon commented Sep 29, 2017

i put the code in my child theme functions and disabled shipping calculator in woocommerce settings and yet the drop down menu of countries is there on the cart page along with shipping options. This has been a three hour problem that remains unresolved despite the amount of plugins and php I put in. H E L P

@luiseduardobraschi
Copy link

luiseduardobraschi commented Mar 18, 2018

This filter has been deprecated a long time ago.

DON'T USE IT!

Refer here for alternative snippets.

woocommerce/woocommerce#4230

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment