As announced yesterday on The WooCommerce Blog, WooCommerce 1.4 (and in fact, the same day 1.4.1) has been released. I’ll do my best not to just rehash what’s found in that post, but as they said, for developers this is a big release, and big in a great way from my experience so far.
It took only a few minutes to upgrade foxrunsoftware.net to 1.4, and the corresponding new release of the Wootique theme and WooFramework, and all without a hitch. It took another couple of hours to get my bearings in the new code and update my custom modifications to the plugin and theme, but the new codebase is so nice, I would’ve done it twice.
Under the Hood
The differences in the new WooCommerce codebase are immediately obvious: files are renamed and reorganized, classes have been renamed (woocommerce_product is now WC_Product), classes have been moved (the WooCommerce class now lives in woocommerce.php). The code itself, which was by no means poor to begin with, has a much more organized and professional feel to it, and lends itself much more easily to being overridden and modified by plugins and themes.
One such modification I make, is to reorder the billing/shipping address fields (by default city, postcode, country, state I prefer them city, state, postcode, country). With WooCommerce’s now more judicious use of
function_exists() it was a snap to swap in my version of
woocommerce_form_field() at runtime to get the desired behavior.
In some instances I was actually able to remove code from my custom plugin because the new WooCommerce fixed issues that I used to override. For instance, customers logging in at the checkout page are no longer redirected to their account, instead they remain at the checkout page where they can finish checking out. Imagine that! The only thing that makes me happier than writing new code is getting to remove old code that is now unnecessary.
The Final Verdict
Not that everything about the new release is sunshine and lollipops, of course. One new very minor issue did crop up which affects people like me who secure their admin over ssl, a mixed-content bug which I have posted my fix for. 2/10/2012 Update – WooCommerce has fixed this in the 1.4.2 release, thanks guys! But despite that one small blemish I raise my glass to the hardworking developers at WooCommerce; from my perspective WooCommerce is the most exciting thing in WordPress E-Commerce, and I can’t wait to see what future releases hold.