Categories
Core

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.

zipping_zebra_720

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.

2016-06-10 at 14.09.png
Example of zones

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.

2016-06-10 at 14.14.png
Multiple flat rates in a single zone

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.

storefront-2-my-account1.png
Tabbed account page in Storefront

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 WordPress.org 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 WooThemes.com. 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!

By Mike Jolley

I help build things at Automattic.

61 replies on “Say hello to WooCommerce 2.6 “Zipping Zebra””

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.

Liked by 3 people

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

Like

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.

Like

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.

Like

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?

Like

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.

Liked by 3 people

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.

Liked by 3 people

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?

Like

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.

Liked by 1 person

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

Like

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

Like

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

Like

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.

Thanks.
Best regards

Like

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

Liked by 1 person

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!

Like

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

Like

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!

Like

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

Liked by 1 person

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.

Like

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 🙂

Like

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?

Like

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.

Thanks!

Like

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

Like

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.

Like

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.

Like

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.

Like

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?

Like

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

Liked by 1 person

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

Like

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.

Thanks
GouravRR

Liked by 1 person

Comments are closed.