There is an awesome doc in our WooCommerce documentation that explains just how to do this, but it’s often missed / hard to find, so I’d like to write it a little bit about it here.
If you have free shipping on your WooCommerce site but only offer it in certain situations, like when the total order amount is above $100, you probably don’t want to show the other paid shipping methods.
I mean, what kinda customer is going to pay for shipping when you’re offering it to them for free? It makes more sense just to hide those paid options when free shipping is available. If you add the following code to the ‘custom functions’ area of your functions.php file (or use a plugin like Functionality), it will do just that. Please use the correct snippet based on your WooCommerce version.