One of the best things about WooCommerce is the slick one page checkout. It's really fast since you don't need to reload any pages and it's smart enough to know when you don't need shipping information when you're only purchasing virtual/downloadable products. We like to make sure the site manager has all of the data available to them so if you have a free download available on your site WooCommerce still asks the user for all of their billing address fields which works great for most users.
Remove Billing Address Fields
If you don't need that extra data and would prefer fewer steps in the checkout process you can of course dig right into our awesome hooks system and remove those fields manually.
I wanted to look into this so I created a mini plugin which removes the billing fields if the order doesn't require shipping and if the order total is exactly zero. I’m including the plugin here for you to look at the code but you can also go the plugins home page and download it, extract the zip file, and upload the folder to your /wp-content/plugins/
directory of your site.
Modifying the Checkout Form Labels
Since this plugin removes all of the billing fields we should also probably remove the “Billing Address” header on the checkout page. I've gone ahead and removed it by using my favorite gettext filter and replacing the string with an empty string.
If you're using a different language you'll have to change my gettext filter or go into the woocommerce/templates/checkout/form-billing.php
template and modify it. Here's a handy guide to modifying WooCommerce templates.
I hope this helps make your checkout page a little more slick! 🙂
Update 2014-04-25
Due to many of the comments I decided to update this script so that it removes all of the billing fields except the email field. This way you capture their email address and downloadable files can be emailed to them. If you want the older version which removes all of the fields go to the plugin homepage and click on Revisions
to access the earlier versions.
Photo Credit: Abdulghani Alsooqi via Compfight cc