Table Rate Shipping for WooCommerce 4.0

It’s finally here! The much anticipated full rewrite of the popular table rate shipping method has finally launched. As always, it is important to note that this is a major update. While hours upon hours of testing happen before the release, minor missed glitches are inevitable. That is why it is always important to backup your website before upgrading to ensure you have a safe point to return to if necessary.

One of the big benefits to upgrading is that you will have two Table Rate methods running. The new update will run on the WooCommerce shipping zones, while the prior method continues to use the old shipping zones. This will ensure your shipping continues to operate while you switch over. The first question I am sure you will ask: can I import my settings from the old to the new? Unfortunately the answer to this is no. Much time was spent trying to figure out a possibility, but the two methods were simply too different. In some ways this is fortunate. I am positive that several of the improvements added will allow many users to condense their tables. This among many things has improved efficiency in 4.0.

So what’s new? A lot. So much I do not think I could possibly explain it all. A good outline of the key changes made can be found below. These are likely the ones that will make the most impact.

WooCommerce 2.6+ Support

Perhaps the most important and most desired change comes within the shipping zones. With 4.0 we are saying goodbye to the Bolder Elements zones and hello to WooCommerce. Now when you select ‘Add Method’ in one of your WC shipping zones, you will find the ‘Table Rate’ option listed. Method settings can now be spread across multiple zones and each zone can have multiple table rate methods. Multiple options can still be created in each shipping method, but separate instances allow you to change core settings such as the Condition and Volumetric Shipping.

The ‘Shipping’ tab saw a lot of changes in WooCommerce 2.6, including how shipping classes are displayed and handled. Taking full advantage of this, you will now find the class priority settings on this page. This gives you the ability to manage everything for your classes on one page, or to ignore it completely if you are not using shipping classes.

The Settings Page

There is not a lot in the new settings page that seems familiar. I hope this is a good thing! One thing I have heard many times over the years was that the settings page was too confusing for new and sometimes expert users. The growth this plugin has seen expands its capabilities, but it also becomes overwhelming for a user who does not need everything that is offered. The new settings page aims to hide elements you don’t need by using smart organization.

Firstly, all settings are categorized into groups that can be expanded or retracted. When first setting up the zone, it will walk you through each step until you reach the table of rates.

Important things to note about the new table of rates:

  • The Identifier column is no more. In fact, the table lost several columns. Identifiers are now generated automatically to reduce checkout errors and compatibility issues with foreign languages. The Shipping Class column is now a Condition, and the Bundle column now a Cost type. In the column to the right of the table you can find the ‘Default’ checkbox.
  • There are no limits to how many Conditions and Costs each row can have.
  • The new Description field gives the ability to add subtext beneath the shipping option’s title and price. Since every table is allowed only one title now, the description offers a line of text that can change on a per row basis.
  • The table of rates is no longer automatically sorted. Admins are now responsible for entering their rates in the correct order of priority. The user can drag the rows to reorder them by clicking the ‘move’ icon at the end of each row if changes need to be made.
  • Each table has both Import and Export capabilities to make copying your tables that much faster.

Under the Hood

In addition to these great changes, there were many updates you cannot see but will appreciate. Recent updates to WooCommerce has given plugin extensions a better way to handle data. I did my best to ensure this was taken advantage of everywhere possible. The results were amazing! Shipping rates calculated faster and left less room for error, especially when including other WC plugins. I also focused on the potential of this plugin and added dozens of new hooks and filters. Developers should have a much easier time adding even more features to this already abundant plugin. WPML support was also retested and renewed for version 4.0. Once I am sure that this version is stable, expect more third-party plugin support to come in future updates.

In Conclusion

I am very excited to finally release this project I have worked so hard on for many months. The wait has been long, I know, but I sure hope it was worth it to each and every user. I look forward to your feedback and ask that any and all issues you find be brought forward in a support ticket. Any and all comments are appreciated.