Today we’re excited to release WooCommerce 3.3 into the wild! 3.3 has been in development since October, and has had over 1581 commits from 80 contributors.
Orders screen redesign
WooCommerce 3.3 features a revamp of the Orders screen. It has been redesigned to be simpler and clearer while at the same time being more useful. This has been developed with backwards compatibility in mind, so extensions that add features to the Orders screen should continue working normally. You can read more about these changes here.
On Backorder stock status and stock management improvements
There’s a new stock status in town! Products can now have the “On Backorder” stock status. We’ve combined this with some improvements and automation to make the product stock management experience more intuitive. You can read more about these changes here.
Greater theme support and customization
We’ve improved the way WooCommerce stores look on themes that don’t declare WooCommerce support. This was done by rendering the store content inside of the theme’s post content area. This way the layout of the store will fit neatly with any sort of theme layout and the store will look great. This change only affects themes that don’t formally declare WooCommerce support. You should now be able to use WooCommerce with almost any theme from WordPress.org!
All themes get to take advantage of this next feature: You can now use the Customizer to set the number of rows and columns in the shop. Theme developers can set minimum, maximum, and default row/column settings when declaring theme support. Read more about these features here.
Image size improvements
You can choose and change the aspect ratio of the images in your shop using the Customizer. Themes can also set the image sizes when declaring WooCommerce support.
In addition, product thumbnails are now automatically regenerated. No need for a special plugin to regenerate images! This feature uses a new event queue that processes in the background. We will be able to use this sort of queue in the future for eliminating race-conditions caused by concurrent requests and for improved performance through background processing. Read more about these changes here.
Features for store owners
- Product downloads are logged and can be analyzed and filtered. Read more about this here.
- The `products` shortcode now has pagination and tag support.
- Live preview of shop display settings in the Customizer.
Features for store builders and developers
- Webhooks now use the CRUD design pattern we’re using in other classes. This is also the first area of the codebase to move to custom tables! Read more about this here.
- New sample data for easily populating shops with demo content.
- Added sandbox and live API details to the PayPal standard data, as well as an indication on the checkout to what mode is currently active. PayPal IPN email notifications are also now optional.
- Ability to search in logs when the database logger is used.
Upgrading to 3.3
3.3 is a minor update and should be compatible with sites running any version of WooCommerce greater than or equal to 3.0. We still recommend testing and backing up prior to upgrading just to be safe.
Note: There are a few post-update database upgrade routines that need to run after updating. These may run for a while if you have a large amount of data in your 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.3
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.3:
auth/form-login.php– Converted submit inputs to buttons.
cart/cart.php– Decoupled cart templating methods from WC_Cart class and converted submit inputs to buttons.
cart/mini-cart.php– Decoupled cart templating methods from WC_Cart class and converted submit inputs to buttons.
cart/shipping-calculator.php– Included city field by default.
checkout/form-coupon.php– Converted submit inputs to buttons.
checkout/form-pay.php– Converted submit inputs to buttons.
checkout/payment.php– Converted submit inputs to buttons.
checkout/review-order.php– Decoupled cart templating methods from WC_Cart class.
emails/customer-invoice.php– Improved default test for checkout page link.
global/form-login.php– Converted submit inputs to buttons.
global/quantity-input.php– Added aria-labelledby to quantity field.
global/wrapper-end.php– Made the Underscores theme wrappers the default.
global/wrapper-start.php– Made the Underscores theme wrappers the default.
loop/add-to-cart.php– Added add_to_cart_description method and aria-labels to cart buttons.
loop/loop-start.php– Use new loop functions.
loop/orderby.php– Refactored to work well on unsupported themes.
loop/pagination.php– Refactored a little to work well on unsupported themes.
loop/result-count.php– Refactored a little to work well on unsupported themes.
myaccount/form-add-payment-method.php– Improved wording and converted submit inputs to buttons.
myaccount/form-edit-address.php– Converted submit inputs to buttons.
myaccount/form-login.php– Converted submit inputs to buttons.
myaccount/form-lost-password.php– Converted submit inputs to buttons.
myaccount/payment-methods.php– Removed a message about new payment methods.
notices/error.php– Added role=alert for improved accessibility.
notices/success.php– Added role=alert for improved accessibility.
order/form-tracking.php– Converted submit inputs to buttons.
order/order-details-customer.php– Cleaned up and updated as part of Orders UI revamp.
order/order-details.php– New actions and a little refactoring.
order/order-downloads.php– Made the downloads table responsive.
single-product/add-to-cart/grouped.php– New hooks and added form action.
archive-product.php– Use new loop functions.
content-widget-product.php– Better action names.
product-searchform.php– Converted submit inputs to buttons.
Deprecated functions and methods in 3.3
wc_get_core_supported_themeshas been deprecated since core now supports all themes.
WC_Product_Download::set_previous_hashhas been deprecated since core is no longer using filename-based hashing to keep track of files.
WC_Product_Download::get_previous_hashhas been deprecated since core is no longer using filename-based hashing to keep track of files.
WC_Admin_Webhooks::logs_outputhas been deprecated since logging is no longer done on the Edit Webhook screen.
WC_Admin_Webhooks::get_logs_navigationhas been deprecated since logging is no longer done on the Edit Webhook screen.
WC_Customer_Download_Data_Store::update_download_idhas been deprecated because download_id is now a static UUID and should not be changed based on file hash.
WC_Cart::get_item_datahas been deprecated in favor of
WC_Cart::get_remove_urlhas been deprecated in favor of
WC_Cart::get_undo_urlhas been deprecated in favor of
WC_Post_Data::process_product_file_download_pathshas been deprecated because no action is necessary on changes to download paths since download_id is no longer based on file hash.
WC_Webhook::get_delivery_loghas been deprecated since webhook logs are stored using the logger.
How we tested 3.3
3.3 beta was released on December 12th 2017 and remained in beta until the RC on January 11th 2018. 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.3!
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.
33 replies on “WooCommerce 3.3 has been released”
Good stuff! Thanks!
Awesome. Excited to finally see this released.
How to remove uncategorized? appeared in the goods
LikeLiked by 4 people
It broke my custom shop page I created with visual builder on Divi, I had to switch back to default. Please fix, thank you!
LikeLiked by 1 person
Mine too, scoaadmin! I don’t even know how to switch back to default. Was instructed to restore to a previous back up, but not sure that’s going to solve the issue. I also read this from wptavern.com : “Users can also wait for the release of 3.3.1, update to the pre-release version of 3.3.1, or use the WP-Rollback plugin and revert back to 3.2.6”
Funny… at our meetup last night, I was asked if WooCommerce can be used with any theme. You just confirmed my answer 🙂 Awesome improvements!
LikeLiked by 1 person
Did you roll back to 3.2.6 version? https://wordpress.org/plugins/woocommerce/
LikeLiked by 6 people
Thanks for the link to roll back – my shop page is back to normal!
LikeLiked by 1 person
Oh, just saw this. disregard my previous comment. Thanks serioushatsky and scoaadmin.
@mikejolley … might be a little too early for a post-mortem on this, but I would like to suggest a couple things for afterwards when you have time to reflect about the RC process in the WooCommerce dev workflow.
I can only speak for my own company of course, but this time around we found the 2 weeks very tight as we have a lot of other stuff going on. We of course planned for a testing period of 3.3, but it was really tight.
3 weeks for testing the initial RC would give a little more breathing room I think, as most plugin and theme companies with limited staff budgets can’t afford to spend precious QA time testing on the WC betas only to have to re-test again on the RCs. We can only afford to test against the RCs. Otherwise we’d be spending half our time just testing WC releases which leaves precious little time for testing other features and patches of our own.
Secondly, when a second RC is released, it would be good if that also extended the deadline by an additional 1 week, so we have time to re-test if need be.
I hope this helps – best of luck getting through the next few days…
I’d prefer a similar cadence, but smaller scope releases. There is a tendency to try to ship too much at once, where we could spread things out. Feature freeze at beta vs RC would also help.
Definitely agree. We’re scoping down our minors as well to just a couple of features. The load on testing is what kills it and good manual testers are hard to come by (as you well know!).
Breaking Jupiter v6 from 07 Dec 2017, a template with 82.000+ sales in ThemeForest. Hard to expect this from WooCommerce/Automattic but it happens. Any expectation for a fix or should I rollback?
If it’s from dec 7th, it hasn’t been compatibility tested by the author.
i have big issue with my shop page that i created with Divi and now not displaying my shop which used to display before updated the plugin. https://www.korindotravel.com/shop/ i do not know how to fix. thanks
Please read https://woocommerce.wordpress.com/2018/02/01/woocommerce-3-3-1-status-update/
Hi i have to Downgrade to 3.2.6 using ftp and my shop is displaying now for my Divi elegant themes. Thank you for the help, regards
Just updated to this version – and to my big disappointment there where no breadcrumbs.
1. I have a custom theme
a. Disabling my WC override theme (templates)
b. Disabling all code in functions.php that changed output on before_main_content, output_content_wrapper_end and woocommerce_breadcrumb.
c. Also all CSS files are reenabled
Is there a setting somewhere that I’m missing?
If you want to use your custom template files, declare support https://wordpress.org/support/topic/guide-for-declaring-woocommerce-support-in-themes/
Ahh! Thank you very much! 🙂
It appears you missed this one from the list:
“`myaccount/form-edit-account.php“` – Converted submit inputs to buttons.
How do you consider:
global/wrapper-end.php – Made the Underscores theme wrappers the default.
global/wrapper-start.php – Made the Underscores theme wrappers the default.
To be a minor update that should be backward compatible?
Ever theme using #content for styling is now broken.
i do not know why, i do not do anything as iam not tech person . (iam just being patient, waiting) then after 3.3.1 released i had big issue with my shop page then i have just updated with 3.3.2, well, it is just like miracle, my shop page is okay now. and iam happy about this. i do not know why. even there is small matters about rich snippet like home/shop/…but its okay for me. Thanks for the miracle.
Great stuff! thanks
Is there a chance we could see email templates customizer some days? It has not been changed for ages and looks very bad and hard to customize without programming skills..
There is the WooCommerce Email Customizer plugin (https://woocommerce.com/products/woocommerce-email-customizer/) for adding zazz to your emails, but nothing planned for core at the moment.
In 3.2.6, we had the ability to search multiple SKUs in admin using a comma separated list. This was very helpful to us in bulk editing a discrete list of items when our salespeople sold product at trade shows or direct sales. We noticed in 3.3, that functionality has been lost. Any chance it may be incorporated in a future release?
There is some discussion about this at https://github.com/woocommerce/woocommerce/pull/19096 but it seems like that feature was never an official feature and only worked by coincidence. For in-person sales, something like WooCommerce POS (https://wordpress.org/plugins/woocommerce-pos/) could potentially make it easier for your salespeople instead of bulk editing products after the sale.
LikeLiked by 1 person
After reading the Github discussion, I did some testing myself with string queries separated by commas versus spaces only and on our data both searches yielded the same results. As an example I searched the phrase:
PCGS MS-66 GORGEOUS, PREMIUM QUALITY
1925-S CALIFORNIA SILVER COMMEM HALF DOLLAR PCGS MS-66 GORGEOUS, PREMIUM QUALITY
1938-S JEFFERSON NICKEL PCGS MS-66 GORGEOUS & PREMIUM QUALITY!
1911 BARBER DIME PCGS MS-66 PREMIUM QUALITY! GORGEOUS COLOR!!
The same phrase less the comma after “GORGEOUS” yielded the same 3 results. The same phrase with each word separated by a comma also produced the same 3 results. So it would seem while the comma acts as a logical “OR” with numeric values (SKUs), it does not seem to influence the search logic with alpha strings.
As an aside, I showed our VP the WooCommerce POS plugin you had linked and he seems very excited about incorporating it at trade shows.We will probably revise our sales protocol since with the POS plugin, we can revise our online inventory much more accurately and quickly.
LikeLiked by 1 person
Quick update: we’ll be adding support for ‘OR’ in the search in WC 3.4. You should be able to do queries like “nickel-sku OR dime-sku” in the near future. This is going to be an official, supported feature. 🙂
LikeLiked by 1 person
Thank you for the quick response. I read the Github post and understand the direction you’re going with the admin search. Interesting that an incidental feature turned out to have such value from our perspective. We have moved from a proprietary website to WooCommerce where this feature was a staple and made our inventory management much easier. I also reviewed the plugin you recommended and thank you for that. Unfortunately, the idea of creating more work for our sales force is not well received. 😉
J’ai un gros problème avec WC 3.3.5. Thème woodance et constructeur de page Uniyson. Les produits s’affichent de manière anarchique en utilisant les catégories en précisant que les dernières produits en fin de catégorie s’affichent au centre ou à droite de la page. Il m’est impossible d’afficher une gamme de produits par page. Lorsque je sélectionne les ID des produits, les images affichées ne correspondent absolument pas aux produits choisis par les ID. Je suis trés ennuyée car voilà plusieurs jours que je tente de règler le problème mais en vain. Le site doit être rendu au plus vite. J’ai donc besoin d’une solution rapide et surtout efficace ! Merci pour vos réponses concrètes qui me permettent de sortir de ce mauvais pas. Ce message est vraiment urgent. Bien-sûr, j’ai contacté le support du thème, mais les réponses sont très évasives et ne permettent aucune résolution des problèmes rencontrés. Merci pour votre retour rapide. Cordialement.