WPTavern: WooCommerce 3.0 Brings Major Improvements to Product Gallery, Introduces CRUD Classes and a New CLI
WooCommerce 3.0 “Bionic Butterfly” was released today with significant improvements to the product gallery and developer tools. This version, which was previously going to be 2.7, is the first major release since the plugin switched to semantic versioning. It was released after more than three months in beta and an extended RC testing period that allowed extension and theme developers enough time to get up to speed.
The new product gallery has subtle improvements for galleries with multiple images. Clicking on a thumbnail updates the image without forcing it to open in a popup window. Galleries in 3.0 are also more intuitive on mobile with support for touch gestures, including swipe to scroll through the gallery, pinch to zoom, and swipe up to close the current image. These and several bug fixes and improvements deliver a much smoother experience of viewing product images.
This release includes significant performance improvements, thanks to the switch from post meta to taxonomies for features like product visibility, featured products, and out of stock products. WooCommerce contributors have also reduced the number of queries required to display related products and upsells.
Version 3.0 introduces CRUD (Create, Read, Update, Delete) classes for developers, making it easier to write and retrieve data from the database with less code.
“High order volume is one of the best problems a store can have, but it can really slow down your site’s performance,” WooCommerce lead developer Mike Jolley said. “That’s why our team’s main focus this year is performance and scalability.” Scalability improvements are planned for the next several releases.
Version 3.0 also introduces a new command line interface (CLI) powered by the REST API. The previous CLI didn’t fully support the same functionality and was powered by its own separate code. The new CLI forks Restful to make REST API endpoints available as WP-CLI commands. It reduces the amount of 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.
The WooCommerce support forums on WordPress.org have been lighting up with requests after 3.0 was released. One particular issue pinned to the top of the forums is an incompatibility with Select2 v3. The latest version of WooCommerce uses Select2 V4 and this may cause an issue with AJAX search inputs in plugins and themes loading an older version of Select2.
Another issue users are having after upgrade is frontend pages reloading endlessly, which WooCommerce developers have identified as a problem with the geolocation setting. They are working on a fix for 3.0.1.
Many users who are reporting issues after updating to 3.0 have discovered incompatibilities with themes or plugins. This release received more than 3,000 commits from 115 contributors. With this many changes packed into a major release, WooCommerce developers recommend testing on a staging site and making a backup before updating the plugin. This will give you the opportunity to make sure your theme and plugins are compatible with the update.