WooCommerce 3.2 Beta is here!

Today we’re pleased to announce that WooCommerce 3.2 is available for beta testing! You can download it here.

Release highlights

3.2 is our second minor release this year. There should be no breaking changes, new functionality should exist in a backwards-compatible manner, and updating from 3.1 or 3.0 should be a hassle free! Here is what to look out for in the update.

New: Adding and removing coupons from orders

Up until now, coupons have been deeply coupled with the cart making reuse (and testing) extremely difficult. In 3.2 we’ve refactored the cart and coupon classes to improve this.

Due to these changes, we were able to implement a new admin feature – the ability to apply coupons (and remove coupons) from placed orders.

This was a popular feature request on the ideas board. To use it, simply edit an order, click the “apply coupon” button and enter a coupon code. The rest will be done automatically.

You can read more about these changes here.

SelectWoo; better enhanced select boxes

In order to improve accessibility (particularly in screen readers) we’ve forked Select2 into a custom version called SelectWoo. This is used for things like state/country select boxes and extensively in the admin area.

We’ve also rolled SelectWoo out in 2 new areas; for the fields in the shipping calculator on the frontend, and for layered nav when using “or” type queries.

You can read more about SelectWoo here.

Pre-update extension version checks

WooCommerce 3.2 adds support for a new plugin header (text added to your plugins readme.txt) to determine which version of WooCommerce a plugin is tested up to. This header is named WC tested up to.

Before minor and major updates, WooCommerce will check these versions and display either an inline warning, or modal window warning (for major updates) to advise the user.

You can read more about this feature, including instructions on what headers to add to plugins, here.

Subscription management improvements

In order to make it easier for customers who use a large number of extensions on their sites we have added some new filters to allow you to filter your woo.com extensions by installed/activated/download/update available etc. along with notification icons in the both then Extension menu item, as well as the ​​​My Subscriptions tab, making it easier for you to see when your woo.com extensions have updates available.

A new ‘share by’ label for shared subscriptions has also been included, which is part of a bigger project being worked on for the sharing of multi-site subscriptions bought on woo.com.

A dedicated products shortcode

We’ve unified the product shortcodes into one single, consolidated products shortcode which supports the options of all legacy product shortcodes. This replaces [product_category][featured_products][sale_products][best_selling_products][recent_products][product_attribute], and [top_rated_products].

You can read more about the new shortcode here.

Everything else…

Other features include:

  • Like the search helpers introduced in 3.1, we’ve done the same for products. You can see our usage wiki here.
  • We’ve simplified the ability to resend order details to customers by including one option to “resend”.
  • We’ve added store street address, city and postal code to settings for use by plugins. This is a minor change, but a feature nevertheless, and something important to extensions.
  • Wrapping values in quotes now let’s you use commas in the product CSV importer. This is an enhancement.
  • If a fatal error occurs, WooCommerce will catch and log it to be viewed in WC > Status > Logs. This can be useful in debugging.
  • We added drag and drop sorting on the grouped product field to control display order of products.
  • The product category filter on the products screen has been AJAXified for faster loading.
  • Added a new option to control the maximum depth of categories shown in the product category widget.
  • Allowed sorting options to be shown when viewing search results. This defaults to sorting by relevance.

On top of the new features, there are a variety of minor tweaks, new hooks, and fixes in this minor release. We won’t go into detail here, but you can see the full list of changes in the readme if you’re interested!

Template file changes

When editing core template files we bump the version so themes know they need to update custom versions. The following files were updated in 3.2:

  • mini-cart.php – Changes to support AJAX remove from cart buttons.
  • shipping-calculator.php – Fix to state field naming and support for select2.
  • order-receipt.php – New. Moved from template function.
  • downloads.php – New table of customer downloads.
  • thankyou.php – Download displays made consistent.
  • order-downloads.php – Download displays made consistent.
  • email-downloads.php – Download displays made consistent.
  • order-details-customer.php – Download displays made consistent.
  • email-order-details.php – Download displays made consistent.
  • email-order-items.php – Download displays made consistent.
  • email-addresses.php – Download displays made consistent.
  • order-details.php – Download displays made consistent.
  • my-account/orders.php – Action buttons moved to filter.
  • form-tracking.php – Improved error handling.
  • single-product-reviews.php – Fixed invalid markup.

Deprecated functions and methods

  • Accessing internal meta keys from a CRUD object will throw a usage notice in 3.2.0.
  • WC_Query::search_post_excerpt is no longer needed or used. WordPress handles excerpt searches.
  • WC_Query::remove_posts_where is no longer needed or used. WordPress handles excerpt searches.

Release schedule and testing

We’re hoping to keep WooCommerce 3.2 in beta for the next 3 weeks. If you’re a developer please check extensions and themes are compatible to be safe.

Release Candidate 1 will be tagged on September 20th and will remain in RC for a further 2 weeks until October 4th which is our target launch date.

If you’d like to help us test, you can download the release from Github. We posted a nice little write-up on beta testing here which should get you started. Please read that and jump right in!

If you’re like to help translate 3.2, you’ll find it on the development branch on translate.wordpress.org.

Thanks to all of our testers and contributors.


Keep yourself in the loop!

This field is hidden when viewing the form
This field is hidden when viewing the form
This field is hidden when viewing the form


12 responses to “WooCommerce 3.2 Beta is here!”

  1. Saskia Lund Avatar
    Saskia Lund

    Hello there Mike!

    Do you have any news regarding WooCommerce and integration with the all new WordPress Editor “Gutenberg” which will be shipped instead of TinyMCE with WordPress 5.0?

    I would love to see a seemless integration to be honest.

    Best
    Saskia

    1. We’re designing things but won’t implement anything until it’s more stable.

  2. Concerning the “WC requires at least:” header, this isn’t exposed in the UI. Does it have any use? It’s hard to see what use it can have programatically, because when dealing with updates, you care about what the *not-yet-installed update* supports, rather than the currently installed version supports.

    That leads on to… how about a mechanism for that? If WooCommerce can provide a filter to allow extensions to supply this information, then extensions can grab that info when they do their own bespoke updates checks, and then store it, and give it to WC’s filter when WC runs that filter…. and then WC could make that known to the user too. “You don’t want to update this extension until you first update WC until version at least X.YZ”.

    1. There is no mechanism to handle this yet, but it’s a good idea to include the header so that if a solution does get added, you’re ready.

  3. I noticed that meta_data on checkout return empty objects at the array, is this a bug?

  4. Hello,

    Please, add some filter or action to WC_Query::get_main_search_query_sql();
    to allow modify it from themes or plugins.
    The problem is when i want to add sku search resaults to Query by using “pre_get_posts” it works fine, but filtesr like price doesn’t work, if finds resault only by sku

  5. Jeroen Sormani Avatar
    Jeroen Sormani

    For clarification the ‘WC tested up to’ should be in the main plugin file headers, correct? not the readme.txt file? (stated in this blog post)

    source: https://woocommerce.wordpress.com/2017/08/28/new-version-check-in-woocommerce-3-2/#comment-3599

    1. Yep. Put it in the main plugin file headers!

  6. I was totally unaware of all this but now I know so much! I am really glad I visited your site

  7. I believe there’s an error on this page: https://github.com/woocommerce/woocommerce/wiki/Shortcodes-changes-in-3.2.0

    The last example shows the “visibility” attribute using the term “featured”

    But “featured” is not shown as an option in the “Available attributes” section of the page.

    Please clarify.

  8. Hi, just tested and coupon with minimum price not working. I jave made coupon with minimum order price 100 to apply the coupon but when my cart is bigger or same or what ever price lets say 1000 coupon not working saying “he minimum purchase price for this coupon is 100”. Tested with my custom build theme and twentyfourteen and same. Rollbacked to stable relase and it s working.

    1. It will be fixed by RC.

Leave a Reply

Your email address will not be published. Required fields are marked *