WooCommerce hide zero value on zero cost shipping methods

In WooCommerce version 3.4, the dev team made a change to show the value of free shipping methods (other than actual Free Shipping). This means if you use Local Pickup or other methods of shipping that don’t have a preset or calculated cost, the shipping labels on both the cart and checkout to appear like this: Local Shipping: $0.00

This was an intentional change by WooCommerce. You can read the conversation and reasoning behind it here: https://github.com/woocommerce/woocommerce/pull/18624

A couple of our customers preferred the old way, where free shipping methods didn’t show a price:

If you too want to hide the zero value price on zero-cost shipping methods, use this filter in your functions.php file or custom functions plugin:


That’s the only place I found this solution, huge thanks.


Is there any way if there are more shipping methods and someany of them has value 0,00 that you can hide the complet shipping method includes the radio button?


(Rb) shipping 1: 7,00$
(Rb) shipping 2: 0.00$ (<— hide the complet shipping method)


    Hi Jan, I’m not sure without looking deeper into your code. Can you share a link we could take a look at?


Unfortunately this does not work for me. Is it outdated or theme depending? Or do I need to do anything else besides just copy/paste to child theme functions.php?



    Hi Lizzy. I just checked and it’s still working for us – with both WooCommerce and WordPress fully updated. So I’m assuming the code is still working.

    Are you testing this locally or in a live production environment. Is there any chance the site could be caching/displaying old files?


Leave a Reply

Your email address will not be published. Required fields are marked *

See if Cinch is right for you.

Ask us anything. Seriously. Like, what is the air speed velocity of an unladen swallow?

Start a chat right now

Or go ahead and Sign up now