WooCommerce 3.2 has been released

Today we’re excited to release WooCommerce 3.2 into the wild! 3.2 has been in development since July, and has had over 1610 commits from 98 contributors.

3.2 is a minor update. All changes should be backwards compatible with 3.0 and 3.1 sites, but we do still recommend ensuring extensions and themes are compatible before upgrading by testing on a staging site, and making backups for peace of mind.

Greater control over coupons in admin

A popular request on the ideas board was to be able to apply coupons to existing orders. We’ve finally tackled this in 3.2!

To use this new feature, simply edit an order, click the “apply coupon” button and enter a coupon code. The re-calculations will be done automatically. You can also remove coupons from orders and have them re-calculate the totals for you!

This was tricky to develop because of the way the cart and coupons were built initially, so some refactoring was needed, but we tried to implement these changes in a backwards compatible manner so extensions wouldn’t require changes. You can read more about these changes here.

Extension support version checks before core updates

WooCommerce 3.2 supports a new plugin header named WC Tested Up To. With this, plugin authors can specify which versions of WooCommerce have actually been tested and confirmed working prior to updates.

These advisories will be shown on the plugin update screen for future WooCommerce core updates.

If an extension does not use these headers, there will be a warning anyway; it may be a sign that the extension is not regularly updated. If a plugin uses the term “WooCommerce” in the plugin name or description, it will be included here too.

You can read more about this feature here.


Features for store owners

There are a lot of new things in this release to make your experience more pleasant; here’s a list of things you may notice whilst using WooCommerce:

  • There are now more accessible enhanced select boxes, with keyboard and improved screen-reader support available in admin and on the checkout.
  • We’ve simplified the ability to resend order details to customers by including one option to “resend” on the edit order page.
  • The wizard has been revamped to help with shipping, payment gateways, and opt-in to services like automatic taxes and shipping labels. You’ll notice this if you setup a new store on WooCommerce in the future.
  • We added drag and drop sorting on the grouped product field to control display order of products on the frontend.
  • The product category filter on the products screen has been AJAXified to avoid the need to load all categories at once. This helps resolve some scaling issues.
  • When showing search results, we’ve added back the sorting dropdown. This defaults to sorting by relevance rather than date.
  • We added a new option to control the maximum depth of categories shown in the product category widget.
  • In order to make it easier for customers who use a large number of woo.com extensions on their stores we have added some new filters allowing you filter extensions by status.
  • There is also a new notification icon under the Extension menu item, as well as the ​​​My Subscriptions tab, indicating the count of extensions that can be updated.

Features for store builders and developers

If you’re building stores for clients, or just developing on top of WooCommerce, here’s some new toys at your disposal.

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!

Additonally, for both agencies and developers, we have implemented a new feature on woo.com which allows you to share your subscriptions with your clients (great for multi-site subscriptions) removing the need to connect your clients site to your personal woo.com account.

Upgrading to 3.2

3.2 is a minor update and should be compatible with 3.1 and 3.0 sites. We still recommend testing + backing up prior to upgrading just to be safe.

Note: There is 1 post-update database upgrade routine that needs to run in order to update Mexican state names to state codes. This may run for a while if you have a large orders database.

If you’re a developer and have somehow missed the beta and RC, the following information may be useful.

Template file changes in 3.2

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 in 3.2

  • Accessing internal meta keys from a CRUD object will throw a usage notice in 3.2.0.
  • Adding fees outside of the fees API will now throw a usage notice.
  • All cart properties have been deprecated and replaced with getter methods; the ones which trigger notices include taxes , shipping_taxes.
  • Some cart methods are no longer needed. remove_taxes won’t be needed because taxes are not calculated if the user is exempt. init is no longer used. get_discounted_price is no longer used because the logic has moved to WC_Cart_Totals.
  • 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.

How we tested 3.2

3.2 beta was released on August 30th and remained in beta until the RC September 27th. During this time we tested internally, tested our own extensions and themes, did some managed updates for actual customers on staging sites to pick up on any conflicts or bugs before the public release, and tested the update on woo.com.

Things look stable but if you spot anything, please let us know on GitHub. Thanks to everyone who helped test 3.2!

We <3 contributors!

A massive thanks to everyone in the community who have contributed, be that via issue reports, fixestranslation, testing, supporting other users or simply spreading the word.


19 responses to “WooCommerce 3.2 has been released”

  1. simbahosting Avatar

    Great work!

    “Some cart methods are no longer needed. remove_taxes won’t be needed because taxes are not calculated if the user is except. ”


  2. Great job guys. It’s been a very smooth release 🙂

  3. We have had an issue with this update. Orders through all our installed gateways (Worldpay and Paypal) were going straight to processing, without checking with the gateway, or forwarding to the gateway. Rolled back to 3.1.2 and the issue ‘resolved’ itself. Not sure the cause just yet, just wanted to highlight there could be an issue for those upgrading on live sites.

    1. Do you mean pending? We’re not seeing issues with gateways. Orders should be created in pending status. Log here if you have more details https://github.com/woocommerce/woocommerce/issues

      1. Sorry for the delay Mike. The orders were going straight to pending, without hitting the gateway at all (fake card numbers were being accepted with the Worldpay plugin, and the user was not being forwarded to PayPal), they would just immediately see the Order Completion view. Didn’t do any debugging, just rolled back immediately, so don’t have any more info unfortunately. The site does use a number of other plugins, so could be a conflict there… Will update if we still have issues in the coming week(s) when we try again. Thanks for the reply 🙂

      2. Oh, I mean straight to processing not pending!!

      3. Hi Mike, Just an update on this. We are still experiencing this issue (after a full plugin update 20 mins ago, inc Woo 3.2.3), and so very likely it is due to a plugin combination. Interestingly, the order is immediately received but the items are not removed from the cart. We are currently holding out in hope that the developer notices but soon we will have to start doing our own investigations. If you like, we can give someone access to our staging environment? Thanks

  4. volkerforster Avatar

    Too funny. I can’t even update because of that pop-up window “This is a major update, are you sure you’re ready?” with no visible YES or OKAY button, and no scroll bars to scroll down in hope there is something like an OKAY button on the bottom. Means the update is totally useless for me, because I can’t install it. Same issue with Firefox and Chrome. Please fix this and add the missing scroll bars!!!

    1. We are aware. Only affects the bulk update screen, not the plugins screen.

      1. volkerforster Avatar

        Ha ha, I just found out before I read the reply. But thanks anyways.

  5. Hello,
    I see this message in my logs since I upgraded to WC3.2 :
    The WC_Cart->taxes function is deprecated since version 3.2. Replace with getters (WC_Cart::get_cart_contents_taxes()) and setters (WC_Cart::set_cart_contents_taxes()).
    This message is wrong, WC_Cart->taxes is not deprecated, it’s obsolete ! WC_Cart->taxes doesn’t work anymore (when you want to set the value, it doesn’t change the value). It’s a bit rough, it was not deprecated in WC3.1, and now it’s obsolete in WC3.2. A deprecation phase would have been welcome…
    I corrected my code in order to use getters and setters as recommended in the log message, so it’s not a problem for me anymore (it just screwed some orders, but nothing really bad). I just wanted to say that a deprecation phase is _really_ important for such things, especially when you say “All changes should be backwards compatible with 3.0 and 3.1 sites” 😉

  6. Chris Austin Avatar
    Chris Austin

    Has Woocommerce 3.2 removed the email address from order confirmation emails sent to admins? Or is there a new setting we need to change? We suddenly do not have email address included on order confirmation emails.

    1. It’s included, just moved with the billing address.

      1. Can you explain the reasoning for this? The email address isn’t part of a ‘billing address’ imo…

        1. It is on the checkout.

          1. Hmm touché, I’ll deal with my confused client 😇 Custom email template time!

  7. I am having trouble with the VAT on shipping. And now I cant seem to make any changes on my shipping.

    1. Can you log a support ticket if you’re having issues? Thanks.

  8. Hi, for several days the checkout on my webshop is not available. I found out, that I have to disable either the WooCommerce plugin or the PayPal Plus plugin to get to the checkout page. Could there be an incompatibility between the two plugins ? The Plugin for plain PayPal doesn´t cause problems.

Leave a Reply

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