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.
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 WooCommerce.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 theMy 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.
- We’ve unified the product shortcodes into one single, consolidated
products
shortcode which supports the options of all legacy product shortcodes. - Like the search helpers introduced in 3.1, we’ve done the same for products. You can see our usage wiki here.
- We’ve added store street address, city and postal code to settings for use by plugins and services which need this data.
- Wrapping values in quotes will now let you use commas in the product CSV importer.
- If a fatal error occurs, WooCommerce will catch and log it to be viewed in WC > Status > Logs. This can be useful for debugging and support.
- We added a new option to control the maximum depth of categories shown in the product category widget; this was another user request.
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 WooCommerce.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 WooCommerce.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 toWC_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 WooCommerce.com.
Things look stable but if you spot anything, please let us know on GitHub. Thanks to everyone who helped test 3.2!
We ❤ contributors!
A massive thanks to everyone in the community who have contributed, be that via issue reports, fixes, translation, testing, supporting other users or simply spreading the word.
mikejolley | claudiosanches | claudiulodro | jeffstieler | v18 | kovshenin |
bor0 | ramiy | WPprodigy | adnanlimdiwala | hjoelr | josemarques |
Umangvaghela | nishitlangaliya | DanReyLop | MillerMedia | thenbrent | terence1990 |
franticpsyx | pmgarman | bekarice | jaydeeprami | gtritchie | mjangstadt |
jb000 | ethitter | iamdharmesh | ragulka | marcozink | jostrander |
kloon | webspecnick | paulwilde | javorszky | websupporter | aristath |
Ninos | jconroy | marcinbot | Drivingralle | jamesckemp | gundamew |
alisterscott | ville6000 | corsonr | jdevalk | Chouby | tivnet |
mihaigrigori | rynaldos | JPry | aj-adl | builtbylane | jameskoster |
iickoo | nyordanov | JeroenSormani | mitraval192 | EmilEriksen | JimmyAppelt |
opportus | marian-kadanka | willgorham | Valks | helgatheviking | unfulvio |
Nils-Fredrik | scrobbleme | saulfautley | mikaelz | nicoladj77 | BrianHenryIE |
jamesgol | shakee93 | EmranAhmed | atimmer | urosmil | grosssmutttr |
belcherj | gfolin | gedex | farookibrahim | SiR-DanieL | jobthomas |
JustinSainton | shivapoudel |
19 replies on “WooCommerce 3.2 has been released”
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. ”
s/except/exempt/
LikeLike
Great job guys. It’s been a very smooth release 🙂
LikeLiked by 1 person
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.
LikeLiked by 1 person
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
LikeLike
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 🙂
LikeLike
Oh, I mean straight to processing not pending!!
LikeLike
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
LikeLike
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!!!
LikeLike
We are aware. Only affects the bulk update screen, not the plugins screen.
LikeLike
Ha ha, I just found out before I read the reply. But thanks anyways.
LikeLike
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” 😉
LikeLike
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.
LikeLike
It’s included, just moved with the billing address.
LikeLike
Can you explain the reasoning for this? The email address isn’t part of a ‘billing address’ imo…
LikeLike
It is on the checkout.
LikeLike
Hmm touché, I’ll deal with my confused client 😇 Custom email template time!
LikeLike
I am having trouble with the VAT on shipping. And now I cant seem to make any changes on my shipping.
LikeLike
Can you log a support ticket if you’re having issues? Thanks.
LikeLike
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.
LikeLike