WooCommerce - Disable shipping for downloadable purchases - wordpress

I've just set up a Woocommerce based webstore and I'm very happy with it so far, but I've come across something that isn't necessarily a dealbreaker, though it's annoying for the customer.
Some context: the store is for my band website and sells physical as well as digital media, collecting shipping information for physical media makes a lot of sense of course, however it's unnecessary step if the customer is only buying digital media.
I've been searching but not had any luck, is there any way to turn off the shipping if all of the items in the user's cart are digital downloads?

UPDATE For WooCommerce 2.6+ (and 3+)
1) Enabling shipping in WooCommerce (prior)
You need to go in:
WooCommerce > Settings > General > Shipping Location(s) (selector), to select a shipping behavior for your e-commerce:
Then save. A new Shipping Tab is going to appear in WooCommerce Settings (in products too).
2) To disable shipping for your downloadable product
You need in your product page edit mode within the Product data metabox to enable:
The downloadable checkbox (as this product is downloadable logically).
The virtual checkbox (as this product is not going to be shipped, logically too)
When enabling the virtual checkbox the shipping tab setting will disappear.
Then update your downloadable product.
Now If you add to cart this downloadable (virtual) product and you go to checkout, there is NOT anymore shipping address or shipping options for this product.

Go to WooCommerce => Settings => Shipping => Shipping Destination and uncheck "Collect shipping address even when not required".
According to the code, if all items are "virtual" then shipping is not required. If you have the aforementioned box checked, it ignores whether the items are in the cart are physical or virtual and will require the shipping address.

in the new versions of Woocommerce luckily, the tick of a “Downloadable” product type will disable shipping for this product

Related

WordPress WooCommerce Shipping costs will be calculated once you have provided your address WordPress

I am using the Custom Shipping Method, from which the customer has to choose by themselves.
However when you go on the cart or checkout page it only says
“Shipping costs will be calculated once you have provided your address.”
To work around it I have tried to tick “enable the shipping calculator on the cart page” under “shipping options” but failed. Even the "Calculate Shipping" link is also not working. I have searched many tuts on shipping method but no success.
After doing few modification, now i get following error:
There are no shipping methods available. Please double check your address, or contact us if you need any help.
Any help will be appreciated.
Please follow the below step..
Go to Woo-commerce setting select "Sell to all contries" in Selling location(s)
Then after select "Ship to all countries you sell to" in Shipping location(s)
After setting remove specific country from the "Shipping zones > Your zone" and Set shipping anywhere.
After all set up please check on cart page.
Thank you.

Woocommerce cash on delivery

I am managing a woocommerce eshop that charges 5euros for cash on delivery (cod).
The shipping options are 'local_pickup' and 'wf_woocommerce_shipping_pro' (plugin that separates shipping cost based on postal code).
Id like to avoid cod charge when local pickup is selected, or when the customer uses a postal code that offers free shipping. Woocommerce offers an option to
Enable for shipping methods
and
Disable on Free Shipping
but then cod dissapears instead of showing up with 0euros price.
I am using the
'WooCommerce Shipping Pro with Table Rate'
plugin to separate which postal codes offer free shipping among others.
Go to:
WooCommerce > Settings > Checkout > Cash on delivery
And in the field Enable for shipping methods add all the other shipping methods except local pickup.
To add a different price (other than 0), if you are not familiar with programming you will need this WooCommerce Pay for Payment https://wordpress.org/plugins/woocommerce-pay-for-payment/ plugin. Of course it depends on the WordPress and Woocommerce versions you are using.

Display WooCommerce Flat Rate Shipping Options on Cart page

I'm building a WooCommerce site and I have a need to display shipping options on the cart page vs the checkout page.
Shipping is flat rate across a single country and not dependent on user location.
Is there a way to accomplish this task?
Cheers!
Go to the General tab in Woocommerce Settings.
Set the shop base address to be the Default Customer Location
If you only have a flat rate and your shop's base address is under it, that's the one that will be displayed by default.
Make sure you have done this
On Woocommerce -> Settings-> Shipping and make sure that you check the boxes
Enable shipping
Enable the shipping calculator on the cart page
Save setting and Configure shipping rates as well, hope it will help

Adding weight and volume to woocommerce products

I'm trying to configure the FedEx plugin on my woocommerce installation. According to the woocommerce documentation: http://wcdocs.woothemes.com/user-guide/extensions/shipping-methods/fedex/
The FedEx Shipping Extension only works when your products have a defined volume and weight. That’s how it calculates what to charge for shipping. Whenever you add a new product to your inventory, make sure you have entered its weight along with the size of the smallest box you plan to ship it in.
The problem is when I'm adding a new product or editing an existing one, I do not see these options anywhere.
This is what the documentation shows
This is what I see
The shipping tab isn't much help either - it just has a shipping class dropdown menu. Tried creating a test shipping class, but I don't see anywhere where to specify weight and/or volume. Any help is highly appreciated!
Those fields will only display on the edit product page if you enable them.
Go to WooCommerce -> Settings and click on the "Catalog" tab. Then under the "Product Data" section check the boxes next to "Enable the weight field for products" and "Enable the dimension fields for products".

Drupal Commerce USPS Module: Disable Shipping Services If Product Option Exists

I need to disable all but one USPS shipping service (Parcel shipping) if any product in the cart has a certain custom product option (a checkbox) set.
I am a very good with Wordpress, but I am new to Drupal and cannot find a way to make this work.
What I've been trying is to set data comparison condition rules on each rate that I don't want to be available (Priority Shipping, etc). However, I can't seem to drill down to the products in the cart in order to check the product field value since I only have site: and commerce-order: root selectors available.
I am working with the latest version of Drupal and Commerce and USPS shipping modules.
Thanks for any help or direction!

Resources