WooCommerce 3.3 Beta is here!

Today we’re pleased to announce that WooCommerce 3.3 is available for beta testing!

You can download it here.

Release highlights

3.3 is a minor release and will be launching near the beginning of next year. There should be no breaking changes, new functionality should exist in a backwards-compatible manner, and updating from any release since 3.0 should be hassle free! Here is what to look out for in the update.

Better support for non-WooCommerce themes

WooCommerce doesn’t require a WooCommerce-compatible theme any more! You can now run WooCommerce with any theme and it should look great. Read more about this here.

Revamped Orders screen

We’ve made a lot of improvements to the Orders screen. The design has been overhauled and we’ve added the ability to quickly view and manage orders on the Orders screen. Read more about this here.

Image sizing improvements

You can now select the aspect ratio of images in your store. We’ve also automated thumbnail resizing and image regeneration. Read more about this here.

Stock management improvements

We’ve made stock management simpler and more intuitive. Read more about this here.

Download logging

Product downloads are now logged. You can view and analyze information about products that are downloaded from your store. Read more about this here.

Webhooks CRUD

We’ve applied the CRUD software design pattern used throughout WooCommerce to webhooks and migrated them to their own custom table. Read more about this here.

Everything else…

Other features include:

  • We’ve replaced all of the old dummy data and placeholders with new, fresh dummy data!
  • We’ve moved some settings into the Customizer so that you can preview changes while managing those settings.
  • If you’re using the database logger, we’ve added the ability to search in the logs.
  • You can now search for extensions right on the Extensions screen.

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.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

  • wc_get_core_supported_themes has been deprecated since core now supports all themes.
  • WC_Product_Download::set_previous_hash has been deprecated since core is no longer using filename-based hashing to keep track of files.
  • WC_Product_Download::get_previous_hash has been deprecated since core is no longer using filename-based hashing to keep track of files.
  • WC_Admin_Webhooks::logs_output has been deprecated since logging is no longer done on the Edit Webhook screen.
  • WC_Admin_Webhooks::get_logs_navigation has been deprecated since logging is no longer done on the Edit Webhook screen.
  • WC_Customer_Download_Data_Store::update_download_id has been deprecated because download_id is now a static UUID and should not be changed based on file hash.
  • WC_Cart::get_item_data has been deprecated in favor of wc_get_formatted_cart_item_data.
  • WC_Cart::get_remove_url has been deprecated in favor of wc_get_cart_remove_url.
  • WC_Cart::get_undo_url has been deprecated in favor of wc_get_cart_undo_url.
  • WC_Post_Data::process_product_file_download_paths has 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_log has been deprecated since webhook logs are stored using the logger.

Release schedule and testing

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

Release Candidate 1 will be tagged on January 11th and will remain in RC for a further 3 weeks until January 30th 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’d like to help translate 3.3, you’ll find it on the development branch on translate.wordpress.org.

Thanks to all of our testers and contributors!


7 responses to “WooCommerce 3.3 Beta is here!”

  1. Thanks, Can you add to the features, that when you open a store in a mobile smart phone, it will show the products in multiple columns, instead of one column, as currently, each product look like a big icon that fills the whole page, which is not the normal look for a store in mobile view.

    Regards.

  2. Would it be better to have ‘Hide other shipping methods when “Free Shipping” is available’ in Woo itself, with a check box in the shipping setup pages?

    https://docs.woo.com/document/hide-other-shipping-methods-when-free-shipping-is-available/

  3. I just enabled the Woocomerce version 3.3 beta but :

    1- where is the display tab? ( woocommerce -> setting -> display ) ?!
    it’s really confusing if you want to remove it.

    2- where is the woocomerce customizer options? I couldn’t see this option?!

    1. We’ve made a couple improvements to this to make it less confusing since the beta. Try out the latest release candidate (https://woocommerce.wordpress.com/2018/01/26/woocommerce-3-3-rc2/). In the latest version if you go to where the display settings used to be there will be a link to the new settings in the Customizer.

      1. Thank you for the reply, but as a user, I’d prefer the options to be one place, I understand that you want to add more options in customizer in next updates!

  4. Just updated to woocommerce 3.3 Official version that released on the 30th January, and my whole website bugged out with everything below my slider revolution not showing up.. I’m using visual composer so basically everything below the slider (at the top of the page) is failing to load. I’ll try reverting to woocommerce version 3.2

  5. szabesz Avatar

    Here is a short guideline for those who want to revert to the old Order Screen features of WooCommerce 3.2 and older. This is just one way of doing it, so please be aware that there might be other alternative plugins/techniques to achieve something like this but as of this writing I could not find too much info on it, so I solved it my own way.

    First of all I removed a rather error prone and therefore annoying behavior of the Order Listing screen, that is if one clicks on any part of the background of a list item, one is taken to the Order Edit screen of that order (credits: J.Lo’s Tech Blog):

    /* Removes WooCommerce 3.3’s Order List behavior which is “clicking on a row takes to the Edit Order” page. credits: J.Lo’s Tech Blog */
    function mysite_woocommerce_order_columns_add_nolink_class($classes) {
    if (is_admin()) {
    $current_screen = get_current_screen();
    if ($current_screen->base == ‘edit’ && $current_screen->post_type == ‘shop_order’) {
    $classes[] = ‘no-link’;
    }
    }
    return $classes;
    }
    add_filter(‘post_class’, ‘mysite_woocommerce_order_columns_add_nolink_class’);

    Next I removed the actions from the Order List’s new Modal Window. We only use the action buttons of the list items. These new action buttons introduced error prone new features regarding our workflow. This is how I got rid of them:

    /* Removes WooCommerce 3.3’s “HTML for some action buttons. Used in list tables” modal, ie the actions from the Order List Modal Window */
    function mysite_woocommerce_admin_order_preview_actions($listing_actions, $order) {
    if (isset($listing_actions[“status”]) && isset($listing_actions[“status”][“actions”])) {
    $actions_array = $listing_actions[“status”][“actions”];
    $action_keys = array_keys($actions_array);
    foreach ($action_keys as $action_key) {
    unset($listing_actions[“status”][‘actions’][$action_key]);
    }
    } else {
    error_log(“Custom WARNING: Action Buttons could not be removed from some reason!”);
    }
    return $listing_actions;
    }

    add_filter(‘woocommerce_admin_order_preview_actions’, ‘mysite_woocommerce_admin_order_preview_actions’, 15, 2);

    Reverting to the look and features of the old Order Listing screen by using hooks like the ones above should be possible, but instead of spending days on figuring out how to do it, I opted for doing it in a “click-and-play fashion” with two reliable and constantly up-to-date – albeit not free – plugins:

    – Admin Columns Pro plugin:
    I used it to rearrange, add and remove columns. This plugin can also turn some columns sortable and it can also add extra filters to search for orders. Of course, this is a general “admin columns manager”, so I started to use it for other listing screens as well.

    – WooCommerce Order Status Manager plugin:
    With this plugin I could preserve the icons of the Statuses instead of putting up with the big and long text versions of WC 3.3. This one costs money too 🙁

    These plugins are not cheap but we are forced to use them “thanks” to the WooCommerce 3.3 changes. Using these plugins I can rely on their authors to make sure future system changes are taken care of instead of me spending countless hours to keep up with the random changes introduced in WordPress and WooCommerce.

    I hope this helps someone. Good luck!

Leave a Reply

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