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.
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.
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.
“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.
When adding a time frame from this location, all the enabled delivery days will be selected by default in the form.
On the other side, we have removed the “Delivery days” field when adding a time frame for a specific 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.
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.