UPDATE: The solution listed in this post is not optimal. Please, take a look and try the Free Shipping Per Product For WooCommerce plugin.
Using the free shipping method will not allow you to specify certain products since it does not have the options to accomplish that such as shipping classes. Instead, we are going to use the Flat Rate shipping method.
- Go to the shipping zone, and add the Flat Rate shipping zone to it.
- Then, go to WooCommerce ⇒ Settings ⇒ Shipping ⇒ Shipping Classes, and create a new class and name it ‘Free Shipping‘.
- After that, go to the Products page, and select from the table the products you want to set them as free shipping, select the checkboxes, then at the top of the table select Edit from the Bulk Actions, then click Apply.
- Set the shipping class of the products to ‘Free Shipping’.
- Now, go to Shipping Zones and click on the ‘Flat Rate’ method. You’ll be redirected to the method’s settings page.
- Change the name of the method to ‘Free Shipping’.
- Finally, set the “Free Shipping” Shipping Class Cost option to 0.
- Save the changes and now only the products that have the ‘Free Shipping‘ class will have free shipping.
There are other methods such as using Table Rate Shipping plugins to create conditions. But this method does not require any plugins since it uses the Flat Rate method which comes bundled with WooCommerce.
Thanks or this
Thank you! I’ve been fighting this for two days!
Thank you very much for this. Really helpful 🙂
Awesome tip.
Great tip, thanks Waseem, for the knowledge and advice as always!