WooCommerce 4.0 Lands with New Admin Interface and Updated Onboarding Experience

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

Screenshot of the WooCommerce 4.0 admin dashboard.
Customizable dashboard stats and charts.

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.

WooCommerce Admin is a JavaScript-driven experience, which allows loading certain data while remaining on the same screen. It is indicative of the direction we will likely see more of in the future. The plugin currently has over one million active installs and a three-star rating. For many reviewers, they either loved or hated the plugin version, with most of the ratings either coming in one or five stars.

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

Screnshot of the theme selection process during WooCommerce onboarding.
Selecting a theme during the final onboarding step.

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.

WooCommerce 3.7 Introduces New Blocks, Updates Minimum WordPress and PHP Requirements

WooCommerce 3.7 was released today after four months in development. This minor release is backwards compatible with previous versions. Despite containing more than 1,290 commits, 3.7 is smaller than previous releases, as the WooCommerce team is working towards delivering more frequent releases to improve the stability of the platform.

WooCommerce 3.7 bundles updates from the WooCommerce Blocks feature plugin version 2.3, including the following new blocks and enhancements to existing blocks:

  • A new focal point picker on the Featured Product block
  • A new Product Categories List block
  • A new Featured Category block
  • A new Products By Tag(s) block
  • Featured Product now allows for featuring a product by variation, linking to the product page with the variation pre-selected

Here’s an example of the featured category block, which lets store owners stay right inside the editor to select the category and see an instant preview of the content.

WooCommerce developers are working on creating more block editor capabilities for store owners. Future versions of the WooCommerce Blocks plugin will include new blocks for product filtering and for displaying product reviews. These will be tested first through the WooCommerce Blocks feature plugin before being added to core.

WooCommerce 3.7 Requires WordPress 4.9+ and PHP 5.6+

This release bumps the minimum required WordPress version to 4.9 and the minimum required PHP version to 5.6. There are new upgrade nudges in WooCommerce 3.6, alerting users who will need to to upgrade WordPress and PHP versions in order to update their stores to WooCommerce 3.7.

The increased minimum versions allows WooCommerce developers to include new and more performant code in future versions of the plugin. It also enables them to utilize PHP packages. The Product Blocks and REST API functionality have been removed from core and are now loaded via Composer.

WooCommerce Blocks Rebranded

Users may notice some visual changes to how WooCommerce blocks appear in the editor. The blocks have been updated to better reflect the WooCommerce brand. This is becoming more common, as plugins with multiple blocks carve out their own branded spaces in the block inserter.

A few other notable enhancements in WooCommerce 3.7 include the following:

  • Email Settings: New “Additional Content” sections replace the old hardcoded “Thanks” sections so store owners don’t have to override templates to change the wording
  • Coupon admin pages: Automatically generate new coupon codes with the click of a button
  • Performance improvements, new dedicated table for tax classes, reduced number of queries to populate variations, excluding Action Scheduler tasks from comments queries to speed up page load times

The WooCommerce Admin feature plugin continues to make progress and currently has 300,000 active installations. The plugin provides a new JavaScript-based dashboard for monitoring store reports and sales metrics. Recent updates include more data on the Customer Report page, improved navigation bar design, and an improved Stock Activity panel that automatically responds to inventory updates. Store owners who want to preview this functionality in WooCommerce can install the feature plugin.

Version 3.7 should not cause any backwards compatibility issues but the update includes a few database upgrade routines. The WooCommerce team recommends those with large amounts of data in their databases to upgrade using the WP CLI command wp wc update, instead of through the admin. Check out the release post and beta announcement for more details.