1. Documentation /
  2. Introduction to Order Delivery for WooCommerce /
  3. What’s New in Order Delivery 1.6

What’s New in Order Delivery 1.6

This release is focused on improving the usability on the settings pages and adding some enhancements to the features introduced in the previous version.

Requirements

↑ Back to top
  • WooCommerce 2.6+
  • WooCommerce Subscriptions 2.2+ (Optional)

Enhanced shipping methods selector

↑ Back to top

Now, selecting the available shipping methods for a delivery day or time frame is more intuitive. In order to select the shipping methods, we have added a previous select field with three options:

  • All shipping methods
  • All shipping methods, except… (New)
  • Only specific shipping methods

Depending on the selected option, a new field for selecting the shipping methods will be displayed or not.

Select the available shipping methods
Select the available shipping methods

You may have noticed the new option “All shipping methods, except…“. Sometimes you want to make available all the shipping methods except one or two. Before version 1.6, you had to select all the other shipping methods, but with this option, the process is much faster.

Enable all shipping methods, except the specified set
Enable all shipping methods, except the specified set

Compatible with Table Rate Shipping

↑ Back to top

We have made “Order delivery” compatible with the extension “WooCommerce Table Rate Shipping“. That means you can select a “Table Rate” shipping method with all its rates like any other shipping method, or only specific rates in the shipping methods selector.

Select a single rate from the Table Rate shipping method
Select a single rate from the “Table Rate” shipping method

Table Rate Shipping” is a powerful extension which allows you to define shipping methods with different rates based on location, price, weight, or item count. But in combination with “Order Delivery” is even better because you can make the rates also depend on the delivery day or the time frame selected by the customers.

E.g: You can make the delivery on Saturday morning only available if the customer makes an order worth in $50 or higher.

Add time frames from the Delivery days setting

↑ Back to top

You can add a time frame directly from the “Delivery days” setting. Just click on the button located on the bottom-left corner of the table.

Add a time frame from the delivery days setting
Add a time frame from the “Delivery days” setting

When adding a time frame from this location, all the enabled delivery days will be selected by default in the form.

Time frame form for multiple delivery days
Time frame form for multiple delivery days

On the other side, we have removed the “Delivery days” field when adding a time frame for a specific delivery day.

Time frame form for a single delivery day
“Time frame” form for a single delivery day

The time frames will only be created on the currently selected day.

Time frame field required

↑ Back to top

Lots of you requested us to make the time frame required in the checkout form. So, from now, when you make the delivery date field required, the time frame field will be required too.

Delivery fields required
Delivery fields required

In addition, if the delivery date field is in “auto” mode, the extension will also assign the first available time frame if the customer leaves it empty.

Finally, we have renamed the “Delivery date field” setting to “Delivery fields” and updated its texts in order to describe its behaviour in a more clear way.

Under the hood

↑ Back to top

Talking about code, we have introduced a new way of handling the delivery days and time frames. In a nutshell, we have replaced the arrays by objects. That means there is a class which represents a delivery day, a time frame and collections of these objects. These classes are:

  • WC_OD_Delivery_Day: For representing a delivery day.
  • WC_OD_Time_Frame: For representing a time frame.
  • WC_OD_Collection_Delivery_Days: A collection of “Delivery day” objects.
  • WC_OD_Collection_Time_Frames: A collection of “Time frame” objects.

We have also updated our extension code for supporting this new data structure. Although all functions and class methods are still compatible with the previous version, if you have custom code which interacts with our extension, we strongly recommend you to update it and to start making use of these new objects.

Making use of this new data structure, you will find that your custom code will be much cleaner and it will increase the possibilities of manipulating collections of these objects.

Finally, we would also like to highlight that we have applied some improvements to other subsystems of the extension like the “Settings handler”, the “Database updater” and the admin notifications.

Other tweaks

↑ Back to top

This release includes other tweaks and fixes.

For a complete list of changes, see the Changelog.