WooCommerce 3.0 “Bionic Butterfly” was just released with significant improvements to the product gallery and developer tools. It’s hard to believe it’s been so long since the last major WooCommerce release when plugin switched to semantic versioning, but sometimes good things are worth waiting for.
But why this release is 3.0 instead of 2.7?
Indeed, the release was originally planned to be numbered as 2.7, and released in mid-March. However, after more than three months in the process of beta testing a critical bug in the way the system handled timestamps was discovered and pushed back to a new release system. Moving forward, WooCommerce releases will use Semantic Versioning, which dictates that major releases – those with API changes or the potential to affect extension compatibility, like this one – will receive a new major version number (ex. 4.0, 5.0). Minor releases and patches, on the other hand, will receive point versions (ex. 3.1, 3.2).
Introducing CRUD classes
CRUD stands for Create, Read, Update, Delete — the four basic operations you can do to a resource. With the CRUD classes added to WooCommerce 3.0, developers can now easily modify orders, products, customers, line items, shipping zones, payment tokens, and coupons with less code across a unified system. For more info on the CRUD classes in WooCommerce and how to use them, read more here.
Show off your product images in the overhauled gallery
Рevamping the gallery experience on individual product pages was discussed since the time of the 2.6 release last year. After taking a poll and doing some internal testing, WooCommerce came up with a new gallery that has more has subtle improvements for galleries with multiple images. Galleries in 3.0 are also far more mobile-friendly and more intuitive than the previous iteration on mobile. Now visitors can both magnify and zoom images, touch gestures have been greatly improved including swipe to scroll through the gallery, pinch to zoom, and swipe up to close the current image and the mobile lightbox now displays the image’s true size. These and several bug fixes and improvements deliver a much smoother experience of viewing product images.
Enjoy the performance improvements, especially in larger stores
This release includes significant performance enhancements, which you’re most likely to notice if you have a larger store (specifically one with several hundred products or many different variations), thanks to the switch from post meta to taxonomies which are now used more in product filtering. Specifically, product visibility will be converted to a taxonomy (previously post meta) and will be used when displaying featured products or hiding out of stock items. This will improve performance on larger product catalog filtering. WooCommerce contributors have also reduced the number of queries required to display related products and upsells on product and cart pages.
But the most important thing we need to outline is that WooCommerce is actively working on speeding up larger stores, both in this and future releases. Combined with our fast WooCommerce Hosting Packages and low latency infrastructure, e-commerce website owners are surely going to feel the difference in performance.
Manage data faster with the new CLI
WooCommerce 3.0 comes with one more treat for developers. The command line interface (CLI) has been overhauled. The previous CLI didn’t fully support the same functionality and was powered by its own separate code separate from the REST API. This meant code could be duplicated accidentally across the code base, and that certain things possible in the REST API were not possible at all with the CLI.
wp wc customer wp wc customer_download wp wc order_note wp wc payment_gateway wp wc product wp wc product_attribute wp wc product_attribute_term wp wc product_cat wp wc product_review wp wc product_shipping_class wp wc product_tag wp wc product_variation wp wc shipping_method wp wc shipping_zone wp wc shipping_zone_location wp wc shipping_zone_method wp wc shop_coupon wp wc shop_order wp wc shop_order_refund wp wc tax wp wc tax_class wp wc tool wp wc webhook wp wc webhook_delivery
The new CLI is now powered by the REST API and is a fork of Restful. This provides more commands and more power to the user while reducing the code that WooCommerce has to maintain and ensures that the commands are always current as the project’s REST API is updated in the future.
Wait! There are even more improvements:
- Tax rates are now sorted automatically, which makes it easier to add and manage new tax zones
- The store-wide notice is now dismissible by customers, making it less of an issue when it overlaps with other elements, especially on mobile devices.
- WordPress networks/multisite user handling has been updated so that WooCommerce will add existing users to the current store if the user already has an account in the same network (this resulted in an error in version 2.6)
- Cart percent and product percent coupon types have been merged into one method, reducing confusion and errors caused by cart-based validation
- And finally, there’s an improved logging for developers.
Ready to try the Bionic Butterfly? Your update is waiting!
We hope you’ve enjoyed reading about WooCommerce 3.0 release. When you’re ready to give it a try, make sure your backups are in place, usable and ready to be restored in case of emergency, and then grab the update from your WordPress Dashboard. It is important to note that many users that are reporting issues after updating to 3.0 have discovered incompatibilities with some themes or plugins. This release received more than 3,000 commits from 115 contributors. With this many changes packed into such a major release, WooCommerce developers recommend testing on a staging site. You can learn more on staging by following our WordPress tutorials on the matter. This will give you the opportunity to make sure your theme and plugins are compatible with the update. It is also worth downloading your current version of WooCommerce from your website admin before you update as in case you run into any issues you would have difficulties finding such. Alternatively, you may check WooCommerce’s GitHub account where you would be able to download previous versions of the plugin.