Just to Note: there is more than one way to do this through code, this one is the easiest to accomplish the scenario above.
Let me first comment on
i still see flatrate/standard shipping under free shipping which is by logic wrong, the idea of showing both “Free Shipping” and “Flat Rate” is the case of your store showing multiple options with difference in the speed of shipping, so you could have a flat rate for (1 day shipping) and a free shipping (5-7 Days).
Now to accomplish the case where you want only to show one shipping option if the subtotal is over a certain amount, this is where you make use of
Promotions > Shopping Cart Price Rules, please note that for this method you will need to disable
Free Shipping, where you can set it as below:
Then add the rule you need under conditions :
After that Magento needs to know the action to apply for this condition you setup. In this case we want it to apply free shipping if the subtotal is over $50 in this example.
Now you should be able to see “Flat Rate shipping” showing $0.