Fixing New Zealand zone regions in WooCommerce 7.1.0 update 11 November 2022 Updated 1 January 2023
Please note: this issue was partly fixed in the WooCommerce
7.2.1 release, and completely resolved in the 7.2.2 release. The old zone region IDs will be automatically updated to the new format by clicking the “Update WooCommerce database” link that appears in your dashboard after updating the plugin. What changed
WooCommerce 7.1.0 includes a change to how the "subdivision" codes for matching New Zealand regions are formatted. Section
7.1.0 2022-11-08 of the changelog contains the following item:
* Tweak - Update subdivision codes for New Zealand, to match current CLDR specification.
Before updating, regions in the below image are visibly assigned to a “North Island” zone name:
Zone regions configured prior to updating to WooCommerce 7.1.0
zone regions are no longer assigned after updating to WooCommerce 7.1.0. Zone regions missing after updating to WooCommerce 7.1.0 Why it broke
2–character IDs were previously used internally by WooCommerce to match New Zealand regions. This update introduces a new 3–character format without accounting for saved configurations using the old format.
For example, the zone region “Wellington” used to be assigned a code of
WE. The recent WooCommerce update now assigns a code of
WGN to this region.
This results in a mismatch of IDs where zone regions were assigned to a shipping zone prior to updating to WooCommerce 7.1.0. WooCommerce now attempts to match regions to the new codes, while previously-configured shipping zones continue to use the old codes.
How to fix
Here’s a couple of manual quick-fix options until WooCommerce (hopefully) adopts an automated solution:
The most straightforward approach is to reassign the correct regions to each shipping zone manually. To do this, open each affected zone and set regions anew in the “Zone regions” field.
While doing this, it’s worth checking if the Country/State field under Store Address (see the General tab) also needs to be fixed.
Update region IDs
Another option is to update the database with the new codes. In the
wp_woocommerce_shipping_zone_locations table, look for the
location_code column containing the old format codes.
Here’s a before/after list of codes:
Bay of Plenty.