Say hello to WooCommerce 2.6 “Zipping Zebra”

Today we’re excited to announce WooCommerce 2.6 “Zipping Zebra” has been released into the wild. 2.6 has been in beta since the end of April, development for ~5 months, and has had over 1700 commits from 25 contributors.

This time round there has been a major focus on APIs, shipping, and account pages which ticks some items off of our 2016 core wishlist.

Introducing Shipping Zones

Shipping Zones are groups of locations to which you ship products. You can group multiple continents, countries, states, and zip codes into a ‘zone’ and then add shipping methods to each.

As an added bonus, methods supporting zones can be used as many times as you need, for example, you can now create multiple flat rates within a zone – something which was previously limited to one without an extension such as table rates.

We made a more detailed post about Shipping Zones which you can read here.

For 3rd party shipping methods, Shipping Zones are opt-in. Core shipping methods support zones,  but 3rd party methods need to declare support. For developers, the shipping API docs are inside our wiki. If a method does not support zones, it will continue to work globally as it always has.

Users of the WooThemes Table Rate Shipping and Flat Rate Box shipping should install the latest versions of those extensions for compatibility. Zones will be migrated to the new system during the 2.6 upgrade routine.

The new WooCommerce REST API

We’ve released a new WooCommerce REST API based on the WordPress REST API. This means WooCommerce now uses the WP REST API scaffolding layer and follows the same standards meaning it can be extended by plugins to add new data points or authentication methods.

The new API supports orders, customers, products, coupons, taxes, reports, and webhooks, both individually and in batches. We’ll be extending this with additional endpoints in 2.7.

If you’re a developer, our REST API docs have been updated for the new API and can be read here.

Previous versions of the API (v1, v2, and v3) are still present in core and will continue to function as normal.

You can read more about the new API here.

Improved account pages

Older versions of WooCommerce had a single account page which listed all data; orders, downloads, saved cards etc. This was not very organised and could grow with extensions.

To fix this, we’ve built a new endpoint/tab based account page with sections you can navigate through.

You can read more about the new account page here.

AJAX cart page

The cart page operations now use AJAX (updating item quantities, removing cart items, applying coupons, and updating shipping options).

Read more about the AJAX cart here.

Everything else…

There have been lots of tweaks and smaller changes since 2.5, so the best place to look at these would be in our changelog and for adventurous developers, the comparison on Github.

To highlight a few of those changes:

  • Developers will have access to our new Payment Tokens API which standardized the way in which tokens are stored and displayed. This wiki article explains usage for devs.
  • There are now some on-hold status order emails.
  • We’ve worked on our layered nav system in 2.6 adding new functionality (now you can filter products by ratings) and improving performance for all layered nav queries.
  • We’ve moved custom term meta implementation to WP Term Meta which was introduced in 4.4.
  • There is a new wc_get_orders() function to get order objects and ids instead of direct get_posts() calls.
  • We’ve added the ability for shipping methods to store meta data to the order in the same way line items can.

Upgrading to 2.6

Some notes for people upgrading to 2.6. Aside from ensuring your extensions and theme are compatible and you’ve made backups:

  1. You’ll need to be running WordPress 4.4 or above – we’ve bumped the minimum requirement.
  2. If you’re running table rate shipping or flat rate box shipping authored by WooThemes, ensure you’re running the latest versions and the WC 2.6 data update will migrate any existing rates and zones.
  3. If you’re using Simplify Commerce you’ll be prompted to install the new version from as it is now a separate plugin and deprecated in WC core.
  4. The data upgrader prompt will run updates in the background. If your site is not accessible or password protected there may be a delay for the cron-based fallback to run.

Template Changes in 2.6

With most new releases, updates to template files are needed in order to add or change functionality. When we make a major change, the template version is incremented. Themes which bundle these templates may need to update them to reflect core.

The following template files had their versions bumped in 2.6.0:

  • single-product/review.php – Added hooks to support the following new templates:
    • single-product/review-rating.php
    • single-product/review-meta.php
  • order/order-details.php – Fix to only get purchase note if product exists.
  • myaccount/my-account.php – New action hooks to support tabbed navigation and the following new template files:
    • myaccount/dashboard.php 
    • myaccount/downloads.php
    • myaccount/view-order.php
    • myaccount/payment-methods.php
    • myaccount/orders.php
    • myaccount/navigation.php
  • myaccount/my-downloads.php – Deprecated.
  • myaccount/my-orders.php – Deprecated.
  • myaccount/form-add-payment-method.php – Added tabbed naviation.
  • myaccount/form-edit-address.php – Added tabbed naviation.
  • myaccount/form-edit-account.php – Added tabbed naviation.

How we tested 2.6

Since April 22nd 2016 we’ve had 4 beta versions and 2 release candidates giving ample warning to developers to test. We’ve also posted on Twitter, Facebook, and our dev blog.

According to Github API, RC1 was downloaded ~250 times, and our betas a total of 1,951 times by testers.

Internally we’ve been testing the RC on We have also tested all WooThemes extensions for compatibility, and had our 3rd party devs do the same.

Thanks to everyone who contributed, tested, and translated this release and we hope you all enjoy using it!

61 responses to “Say hello to WooCommerce 2.6 “Zipping Zebra””

  1. The Shipping Zones feature is amazing! Thanks!

  2. Reblogged this on Job Thomas and commented:
    I’ve updated all of my test sites already, and have been playing around with the newly added “Shipping Zones” for a while. WooCommerce 2.6 is an amazing update and you should get it for your store as well. Read the post on our development website on how to update safely.

  3. Great release by the WC Core team!
    Welcome to the jungle Woo 2.6

  4. […] five months in development and 1700 commits from 25 contributors, WooCommerce 2.6 “Zipping Zebra” is now […]

  5. Very excited about the table rates and the smoother cart experience. A faster experience for customers means higher conversion rates woo hoo! Let’s hope the plugin and theme devs can catch up and take advantage of these new enhancements quickly

  6. Its on our store, and is ready to roll on our managed client sites. My account – particularly adding payment cards from there – is a major new feature which customers will love.

  7. it’s 6/16 two days after the release…any updates on ANY major errors and bugs? (I’m sure it’s legit, it’s just that 4.5 update which was also a big one made us work day and night till everything worked like it should) Thank you.

    1. Look in the forum at the sticky threads. Test on staging.

  8. Anyone feel like mentioning that the SKU got moved from the General tab to the Inventory tab?

    1. Not really on the same level as the other updates 🙂

      1. In usability terms – suddenly making the SKU disappear is a pretty big impact. Because there’s no mention of it in any of the updates you basically have to scrabble around trying to figure out where it is. You ask yourself questions like – is one of my plugins knackering it? Has the WooCommerce system knackered my database? How do I raise a bug to say ‘My SKU has disappeared’ without sounding stupid? All these type of questions. Perhaps to developers it’s not important but to end users I think it’s very important. Surely the SKU is the most important element on the screen and you’ve decided to hide it from the main screen. This didn’t seem like it was worth a mention to the various shop owners?

        1. True, however as you can see from users updating without testing, very few read the changelogs so unless you’re throwing a massive notice in peoples faces (which is not a great idea) those types of threads are inevitable.

          It was however covered in the docs at time of launch.

          SKU is not the most important element to everyone. And as a stock keeping unit, it makes sense to move it with inventory settings.

          If you really want to know about **every** change in core, even the smaller changes, I suggest you star and follow the commits on github.

          1. Thanks for your replies. I agree it’s a minor technical change – but aside from the changes to the icons it’s the most visible change. I also agree that it makes sense to have it on the inventory tab. People won’t necessarily read the change logs just for the sake of it, but you do read them if you’re trying to figure out why something has changed. I’d have thought that it would make sense to have a section for UI changes in the change log. I’ve seen WordPress have friendly UI in context notifications of sections that might help reduce user confusion. Hiding the SKU field (albeit for good reason) does cause confusion for those that use it.

        2. p.s. this could have been a PR to get it sorted 😉

  9. Inigo van Dijk Avatar
    Inigo van Dijk

    The new My Account is not working at all for me, using Flatsome theme. I can’t edit the endpoints anywhere (what to show), and it’s nowhere near how it should look. No tabs, very simple layout. Can I revert this?

    1. If your theme has the old template file it will look how it used to. Update.

  10. Great job! Hopefully we will need less plugins to have more complex shipment organization for stores 🙂

  11. cassia23 Avatar

    i’m having to roll back because this update broke my clients entire site. the shipping charges aren’t posting to paypal and none of the tabs are changing when in the backend of the product or making a new product.

    1. Sounds like your extensions have not been updated yet. Good luck.

      1. cassia23 Avatar

        No advice on why paypal isn’t pulling the shipping charge?

        1. You need to remove any shipping rules in your paypal account.

          1. cassia23 Avatar

            i don’t know where that would be. I’m not the original developer on this and the previous one didn’t tell me anything. I just gained access to the companies PP acc

          2. I think it’s in the profile section, PayPal side.

          3. cassia23 Avatar

            that’s not it. because right now i reverted back to the older version and it’s going through to paypal. woocommerce is now doubling the flat rate and I can’t seem to figure out why

          4. It is it. The new version sends a real shipping line. PayPal shipping settings overrule this.

            Use the forums in future – this is not a support portal.

  12. “As an added bonus, methods supporting zones can be used as many times as you need, for example, you can now create multiple flat rates within a zone – something which was previously limited to one without an extension such as table rates.” Does this mean that I will now be able to create different shipping options (like First Class and Priority) with different prices to my U.S customers? If so then great, but I do I go about doing that? I don’t know how to set that up from the documentation.

    1. Yes, you can add multiple flat rates to a single zone.

  13. Hi,
    since the new update you can not show tax with 0%.
    If I put the tax to 1% then it is visible again.

    About a solution I would be very happy.

    Best regards

  14. Urgent!! Please help! Can somebody tells me how can hide shipping methods in cart and in checkout when free shipping is available? Before there was an option to do that. Now this option has gone!!!

      1. Hi Mike! It was an option in my woocommerce! It had a selection when you fixed the shipping methods, to choose if free shipping appears by it self in the cart or checkout. I know it because I am taking live orders and yesterday non of the orders had additional the DHL and Post selection after the amount that gives free shipping!

        1. Sorry, this was never in core. Maybe an addon.

  15. Tal Elmishali Avatar
    Tal Elmishali

    I can’t change the payment getaway order, also now there is an option to “Check Availability”.

      1. Tal Elmishali Avatar
        Tal Elmishali

        I know, but for some reason I can’t reorder- it just not moving.


        1. Seems to be working here. You have to drag by the handle on the left.

  16. Celestialpetals Avatar

    When will Woocommerce develop BUYABLE PINS FOR PINTEREST? I cry into my cupcake every time I think about how many of my website run woocommerce (5 of my own) and I have no way to sell on Pinterest with Woocommerce. I just joined Shopify this week to start selling and the format of listing an item is similar to Woocommerce. Many of us have lost business (original idea businesses – crafters, etc) to copy-cats that are using Buyable Pins on Pinterest. I would hate to loose all the work I’ve done on Woocommerce just to move everything to Shopify. I am waiting for you… Can’t wait forever!

    1. It’s a private API right now, so not just anyone can integrate with the service. I’ll pass it on to some colleagues and see if we can somehow get access 🙂

      1. Celestialpetals Avatar

        Thanks. I will add that Pinterest has had this feature for over a year or longer. It is time they open it up for the world unless they are some sort of Country Club for the Elite. Just kinda allows a select group to gain market on the rest of us. Thanks again. 🙂

  17. I’ve just updated my first WooCommerce site to the new version. It went flawlessly and was easy. I’m confused though as to why I still cannot add shipping charges to individual items. I am really confused why this very basic need is not part of the whole WooCommerce experience. How do I add shipping to individual items, not a shipping category because that only charges the first item in the category, i.e. the first shirt is $8 and if they order 100 shirts it’s still charging $8 🙁 ….. I was really hoping this version had some real improvements along those lines.

    1. This is difficult because at product level you may want to also do different costs for different places. There is a per product shipping extension for this.

      Otherwise, you could look into using shipping classes. i.e. group small items into a class, and large items into another, and then give each a different flat rate cost 🙂

      1. Thanks Mike!! I actually was able to a $x for the first item and $x for each additional item class and it works FABULOUSLY!! I’m thrilled …

  18. artificiallyyoursau Avatar

    Your Shipping Zones inclusion has single handedly broken all of my rules set up in my Table Rate Shipping Plugin. I can’t even see an option for weight based rules, is true to say this option is not included in your version?

    1. Table rates is still required for said rules. V3 of table rates is compatible. **This is covered in the post**

  19. Is there going to be an update for the WooCommerce Conditional Shipping and Payments plugin? Looks like those old rules are not working with the new shipping zones.


    1. Already has been updated.

  20. Kirsty Avatar

    That is a cute zebra 🙂

  21. This is a great update. I really do love it. What good is about WC, they do listen to their customers and always keep up developing great new features and many bug fixes. Only I don’t understand one thing, maybe you can explain it to me @mikejolley. You added tabbed my account section. Perfect! But why don’t you add AJAX for it? Why reloading the whole page? I mean you added AJAX to cart, why not over there? Or am I mistaken.


    1. Simply because we’d prefer to have real endpoints there – ajax can cause issues.

  22. “If a method does not support zones, it will continue to work globally as it always has.”

    ummm… no, it doesn’t. i have a 3rd party USPS shipping calculator plugin i purchased elsewhere (because $79 for a freakin’ extension is ridiculous) and it no longer works. not happy with WooCommerce right now at all. 🙁

    1. They do. Our usps extension worked without issue and without an update. Maybe the dev didn’t bother to test? Contact them.

  23. Very frustrated with this new update. I currently use 4 bundle rate shipping plugins (for 2nd day air, overnight, etc.). The new WooCommerce update allows for Flat Rate shipping with a base price, plus a flat rate for each additional item. My problem is that I don’t have a fixed incremental cost. For instance, the 2nd to 10th item is $2 more, then it’s the same price until the qty goes up to 15 items. Then it’s a different rate.
    My Bundle Rate shipping plugins do this fine, but there’s no interface to prioritize the order in which these show up in the cart, like the pre-update version (shipping methods, shipping options). Also, my other plugin for shipping and delivery scheduling disappeared in the shipping options, so I have no way of changing the settings.
    Can you guys please keep in mind that a lot of your customers use third party plugins, so it would be great if you could have tested this with sites that have complicated shipping methods. Or at least provide info on how the new updates affect third party plugins.

    1. 3rd parties are notified of impending updates and can support new features like zones if they choose. It’s not like they are locked out from using the new functionality.

    2. About the sorting, it wasn’t feasible to allow both zone based method and legacy method sorting at the same time. Due to this, legacy sorting was removed. When your methods support zones you’ll have full control again.

      1. Thanks for your quick response! I guess I’m SOL for now.
        Is there any workaround in Shipping Methods to support Flat Rate shipping with variable costs with each additional product?

        1. Afraid not. That’s definitely not a ‘flat’ rate.

  24. Bryan M Avatar

    My site was running rock solid. Did the update, getting this error in WP admin panel?

    Strict Standards: Declaration of WC_Subscription::set_payment_method() should be compatible with WC_Abstract_Order::set_payment_method($payment_method = ”) in /nas/content/staging/elegancespa/wp-content/plugins/woocommerce-subscriptions/includes/class-wc-subscription.php on line 15

    1. Looks like you need to update subscriptions.

      1. Bryan M Avatar

        Ok Mike I’ll check that. Love to get the new version installed and stable, just can’t break it 🙂

  25. Heyy
    I upgraded my woocommerce from Version 2.5.5 to Version 2.6.9 its amazing.
    also the Shipping methods functionality is amazing, now I can easily set bpost shipping.


Leave a Reply

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