WC 2.4 dubbed the “Helpful Hedgehog” is being released for testing. This release has been in development for approximately 4 months and has around 1600 commits in total from 27 contributors.

TL;DR: You can download beta 1 here: https://github.com/woothemes/woocommerce/archive/2.4.0-beta–1.tar.gz and optionally take our beta feedback survey here.

Release Schedule

Beta 1 is out today, July 13th and the beta testing period will run for 2 weeks unless anything major comes up. Subsequent betas may be released if needed.

If all goes to plan, Release Candidate 1 will be tagged sometime between July 24th–27th, with the final release dropping a few days after.

Release Highlights

The Product Variation Editor in the backend has been significantly changed to make full use of AJAX, as has the frontend. We have a dedicated post about this change here: Improving the Variations Interface in 2.4.

We added a new way to handle geolocation which works with static caching (from plugins such as WP Super Cache and W3 Total Cache). We covered this in more detail in a post: Making Geolocation Static Cache Friendly in 2.4

Custom AJAX Endpoints have been introduced to improve loading times on the frontend during events such as adding to cart. Previously, admin-ajax.php (the standard WordPress ajax endpoint) was used but this had the disadvantage of loading the entire WP admin just to make a request. The custom endpoints work around this.

A Visual API Authentication Endpoint has been added. Services which integrate with the REST API can now use the visual authentication endpoint so a user can login and grant API permission from a single page before being redirected back.

The visual authentication endpoint

Shipping Method Priorities have been added to give more control over which shipping method is selected by default for customers. Each method can now be given a numeric priority.

Shipping method priority
Shipping method priority

Flat Rate Shipping and International Shipping were both refactored to remove unnecessary, confusing options. An upgrade routine will change old settings to new post-upgrade. See more here: Simplifying Flat Rate Shipping in WC 2.4

And finally, we added an onboarding wizard for new users.

Onboarding New Users

Lets face it. eCommerce is hard. If you’re starting up a business for the first time, there are things you need to at least understand before you can start selling. Taxes and shipping to name but a few. But we don’t need to overload the user with this.

In WooCommerce 2.3, upon installing the user is greeted with a ‘welcome’ and then boom. Here are the settings. Have fun. The user has no idea what to do next, and all they see are several notices and a whole bunch of tabs which they may or may not fully understand. This is not good onboarding.

We set out on the journey to improve this back in November during the WooTrip/WooCommerce Conference where we hosted a “Hackithon”. Several teams put together MVPs and pitched ideas, with the winner to be given time and resources for implementation. We didn’t win, but that didn’t stop us🙂

Onboarding wizard team at the Woo Hackithon
Onboarding wizard team at the Woo Hackithon

The idea for the onboarding wizard was logged on Github. The goal; by the end of the onboarding wizard the user should have a working ‘store’ ready to populate with products. The decision was made to make it one of the key focussing in 2.4 (hence the name, Helpful Hedgehog).

For a new user installing WooCommerce for the first time, rather than see our ‘welcome’ page, they will instead be redirected to the setup wizard. It’s a quick 5 minute process to get the main store settings setup complete with geolocation to offer locale specific options by default.

Here is a quick run though the wizard for a UK based user.

You’ll notice:

  1. There is an introduction which explains what is going to happen
  2. It is optional
  3. It sets up all requires WooCommerce pages for the user
  4. It geolocates the user to offer them suitable currency + symbol + weight unit options
  5. It lets them quickly setup flat rate shipping
  6. It can install some basic tax rates if available
  7. The final step tells the user what they can do next

We hope this will help immensely, but it doesn’t stop there. Additionally:

  1. If a user clicks the ‘create your first product’ button, the create product screen will show a series of admin points to guide them through the process
  2. All admin screens now have contextual tutorial videos in the help tab

Testing 2.4

We’d appreciate any help in testing 2.4 to ensure a pain free final release. If you are testing extensions, or you’re an extension developer, please take note of the following.

Possible Conflicts

The main point of conflict will be around the variations improvements. If you have a plugin which adds fields to variations, or alters the display of variations in anyway you need to check your code. That includes the frontend testing with variable products with 20 or more variations which will use the new ajax loader.

Template Changes for Themes

The following changes have been made which affect themes. Please note; template versions have been bumped for any changed files.

  1. To improve display in various email clients (such as outlook) many email template files have been tweaked. For the most part this just meant the addition of some classes.
    • templates/emails/admin-cancelled-order.php
    • templates/emails/admin-new-order.php
    • templates/emails/customer-completed-order.php
    • templates/emails/customer-invoice.php
    • templates/emails/customer-note.php
    • templates/emails/customer-processing-order.php
    • templates/emails/customer-refunded-order.php
    • templates/emails/email-addresses.php
  2. The product category template file calls the new wc_product_cat_class() function to apply css classes, rather than including that logic in the template.
    • templates/content-product_cat.php
  3. To make editing the proceed to checkout button that little bit easier we created a template for it.
    • woocommerce/templates/cart/proceed-to-checkout-button.php

Post-Testing Survey and Bug Reporting

If you test beta 1, please post your feedback in our survey. This will help us judge stability and usefulness of included functionality.

If you find a bug in WooCommerce, please post an issue on Github and include [2.4] in the ticket name so we can find them.

Thanks to everyone involved in this release.