WC 3.3 will look great on all the themes!

It used to be that you had to find specific WooCommerce-compatible themes for your store. In the upcoming release we have made big improvements in how WooCommerce handles themes that were previously unsupported, so now you can run WooCommerce with any theme!

On themes that don’t formally declare WooCommerce support the templates will render inside the content. This keeps everything looking natural on the site while ensuring everything still works great. Here are some before and after examples using themes that do not formally declare WooCommerce compatibility:

In order to make sure everything looks as nice as possible and so customers can see products well on themes with narrow content areas, lightbox and zoom will automatically be enabled for themes that don’t formally support WooCommerce. If your theme currently declares WooCommerce support the theme will still have full control over whether lightbox and zoom are enabled on products.

One thing that you will notice is that the product reviews area is not present on these themes. In our testing the CSS used by most themes that do not support WooCommerce did not work well with WooCommerce’s CSS for review styles. These themes will use the regular comments form. Themes that declare WooCommerce support will still use the review template.

Column and row settings

We’ve also added the ability to select the number of rows and columns displayed in the shop to the customizer. Everything updates dynamically so you can preview how your shop will look while changing the settings. The width of the columns will automatically increase or decrease depending on your settings, so everything should look nice and fill the available area. This feature is available on all themes.

Theme developers can set the minimum, maximum, and default settings for the columns and rows when declaring WooCommerce support:

function my_custom_woocommerce_theme_support() {
add_theme_support( 'woocommerce', array(
// . . .
// thumbnail_image_width, single_image_width, etc.

// Product grid theme settings
'product_grid' => array(
'default_rows' => 3,
'min_rows' => 2,
'max_rows' => 8,

'default_columns' => 4,
'min_columns' => 2,
'max_columns' => 5,
),
) );
}

add_action( 'after_setup_theme', 'my_custom_woocommerce_theme_support' );

Testing and feedback

These changes are merged into our master branch on GitHub if you want to try things out. If all goes well, they will be part of 3.3 release in January.

Thoughts and feedback welcome in the comments.


Keep yourself in the loop!

Sign up for the WooCommerce developer newsletter:
This field is hidden when viewing the form
This field is hidden when viewing the form
This field is hidden when viewing the form


20 responses to “WC 3.3 will look great on all the themes!”

  1. Amazing!

  2. Looking forward to giving this a try with a child theme I was just adding WC to!

  3. So really, if Woocommerce support isn’t declared for your theme, your shop will now display as a blog post. Great. How can customers post their reviews? How can reviews be seen? So I’ll have to use a plug-in. Great. And that will mean that my existing reviews won’t be in that new review system unless I put them in manually. Great. Just great.

    1. That’s not quite correct. Customers can still post reviews using the comment form at the bottom of the product, and any existing reviews will still be available and shown; they will just be displayed using the comment template.

      I’m almost 100% sure the theme at TheBlueBottleTree.com declares WooCommerce support, though, so this change likely won’t affect you.

  4. It would be nice if, for a theme with no declared support for WooCommerce, that there is a hook (or is there one already?) to enable Product Reviews, so that the developer can at least test if it works OK with THEIR theme, and if it does work OK (or if they make some modifications to their theme so that it does), it can then be enabled. A win win situation, yes?

    1. Here is a little one-line snippet that will enable the reviews template on unsupported themes: https://gist.github.com/claudiulodro/98fb75bf4b142d6c6c063ae4fde8ec6c You can use it for testing to see if the template looks good and/or you can put it in the theme if it can handle the reviews template.

      If you’re working on a theme and it should be compatible with WooCommerce, why not just declare WooCommerce compatibility, though? 🙂 https://docs.woocommerce.com/document/declare-woocommerce-support-in-third-party-theme/

      1. cotswoldphoto Avatar
        cotswoldphoto

        Thanks for that. The theme is a couple of years old (but has been kept up to date), but it uses a plugin plus declaring WC theme support to get WC to work (and it works well within the theme, but modifying things is a bit hard as the theme uses its own templates). By disabling the theme support in that theme, I no longer have to use that extra plugin, and with your snippet the pages now look identical to before, Except I can now use standard WC layout injector type plugins to make my own design. Suddenly my theme is way more flexible. Win win all round for me and any other user of that theme.

  5. Hi, do you have a schedule date for the release?

    I hope the bug with subtotal/total if using plugin
    WooCommerce Dynamic Pricing & Discount
    and order only 1 piece of any item wil be fixed in this release…(?)

    1. Hi, 3.3 will be released January 30th. I’m not aware of the bug you’re talking about, but it sounds like a bug in the WooCommerce Dynamic Pricing & Discount plugin. You should contact the authors of that plugin if there is a bug that needs fixing, because an update to WooCommerce is probably not going to fix problems in a different plugin.

      1. Hi, thx for quick reply.
        I contactet the Support of the Plugin and there I got this answer:

        Thank you for getting in touch!
        This is a known bug, and it is related to something that WooCommerce does, so, unfortunately, we can’t change that. However, it seems that in next version WooCommerce fixes it, so you will just need to wait for the 3.3 release (or, if in hurry, you can just download and use 3.3. RC1 version now).
        Let me know if I can help you with anything else.

        I am Beginner in Woocommerce and so I will not go to risk anything with using a Beta Version.
        I Need a Plugin with I can organize Discounts and serves for different Groups of customers and product category.
        So now I am hanging in the sky ….our shop will go online on 1st february 🙁

  6. openstudionetwork Avatar
    openstudionetwork

    Does this update allow us to easily have 2 columns at Checkout?

    1. The checkout design is unchanged from 3.2.

  7. Would this be what has stopped my woocomerce/single-product.php from overriding the main theme on a site I created? Was working fine till someone upgraded woocommerce beginning of the year. The main site has different theme design to the section using woocomerce, with no links back to the cart page etc, so customers get stranded after going to the product page.

    http://goodmentalhealth.org.uk/hhc2018/

    1. If the theme isn’t overriding, you probably don’t have WooCommerce compatibility declared in it. See this: https://github.com/woocommerce/woocommerce/wiki/Declaring-WooCommerce-support-in-themes

      1. Thanks I’ll give that a try

  8. sitezillawp Avatar
    sitezillawp

    Just add the following to your functions.php in your WordPress theme :

    add_theme_support( ‘woocommerce’ );

  9. Steve Tanner Avatar
    Steve Tanner

    When I updated to 3.3 the woocommerce.php file in my theme suddenly no longer overrides the default. Is there a fix for this? I looked back on our construction site where we have 3.2 and it works as expected but not in 3.3??

  10. Steve Tanner Avatar
    Steve Tanner

    Ok, we never did that on the construction site under 3.2 but after declaring on 3.3 all is back to normal on the live site. Works great. Thank You!

Leave a Reply

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