Yesterday, Automattic launched version 4.0 of its WooCommerce plugin. Except for the new admin interface, which has been in testing for over a year, the development of this update began in January 2020. The update also includes an updated onboarding experience for new users.
Version 4.0 is a major release of the plugin. Users should create a database backup before upgrading. The WooCommerce team suggests testing on a staging site before upgrading on a live site to make sure everything runs smoothly.
The new version is not completely backward compatible with previous versions of WooCommerce. Reading the How to Update WooCommerce documentation before clicking the update button is recommended.
Developers and end-users should take note of the changes to the Action Scheduler library, which is the background job runner bundled in WooCommerce. In the past, it stored data as a custom post type, which has now been switched to a custom database table. The change should make background processes more performant with large amounts of data. It also has the potential to break custom code that does not interface directly with the API, but this should not be an issue for most users.
WooCommerce Admin Project Merged into the Core Plugin
With well over a year of developer and user feedback, the WooCommerce team decided it was time to merge its new admin interface into the core plugin. Originally, the interface was developed as a separate plugin named WooCommerce Admin. The project began alpha testing in October 2018 and was later released publicly in February 2019.
The new admin interface features a customizable dashboard. End-users can choose which stats to display in the performance section, select the charts they want to appear, and customize their leaderboard output.
Reports are much improved over previous iterations. The updated interface allows better filtering and comparisons. It should provide merchants with more useful insights into how well their shop is performing.
Plugin developers should take note that admin notices may not appear on all WooCommerce screens. This seems to be limited to custom screens created by WooCommerce. Notices appear on WordPress-generated pages (e.g., products, orders, coupons). While this may be a welcome sight for third-party notices that are sometimes plastered across the admin, it could present an issue for plugins that are specifically attempting to display a notice related to WooCommerce.
My biggest dislike is the inclusion of a sticky header and menu on all WooCommerce admin screens. I have been vocal in the past about my dislike of sticky headers while viewing sites from my laptop. If their height is small enough, it is a non-issue. However, when a sticky header uses enough screen real estate, it triggers a gut-wrenching claustrophobia that is hard for me to shake. WooCommerce’s new sticky header would be enough for me to look elsewhere if starting a shop, or at least push me to write some custom code to change it. I know this is a personal hangup, but I hope it is something that gets dropped from a future release.
Updated Onboarding Process
The onboarding process was spot on. For someone who rarely sets up online shops, each step was easy and helped me get off the ground running. This type of experience for larger plugins should be the standard rather than the exception. Far too often with these types of plugins, users can feel like they have been tossed into the wilderness with no compass after plugin activation. This was one of the nicer onboarding experiences I have had with a WordPress plugin.
Users have the option of selecting the old setup wizard if they are already familiar with it. The new one is worth a spin.
The first step primarily points users to Jetpack and other Automattic services, but many of those will be useful for shop owners. There are also options for connecting with Facebook and Mailchimp. The final step of the wizard offers a selection of free and paid themes, which is a useful part of setting up a shop for many first-time store owners.