在 Woocommerce 中为送货区添加州而不是邮政编码

Add states for shipping zones instead of postcodes in Woocommerce

我有一个 woocommerce 网站。默认情况下,在 woocommerce 中,我可以通过邮政编码限制送货区域……但是我如何在送货区域中添加我所在国家/地区的州,以便客户可以在结帐页面中通过 "dropdown menu" 选择他们居住的州,而不是输入 zip代码 ?

我是编码新手,所以有人可以告诉我在哪里输入代码吗?

请...

如果在 WooCommerce 中没有为您的国家定义状态,您应该需要用字母代码(2 或 3 个大写字符)和数组中相应的标签名称来定义它们。

以下是基于法国地区的示例 (Woocommerce 中未定义) 法国国家代码 'FR' (所以你需要设置你的 woocommerce 国家代码):

add_filter('woocommerce_states', 'add_custom_states_to_country');
add_filter('woocommerce_countries_allowed_country_states', 'add_custom_states_to_country');
function add_custom_states_to_country( $states ) {
    $states['FR'] = array(
        'AR' => __('Auvergne-Rhône-Alpes', 'woocommerce'),
        'BF' => __('Bourgogne-Franche-Comté', 'woocommerce'),
        'BR' => __('Bretagne', 'woocommerce'),
        'CV' => __('Centre-Val-de-Loire', 'woocommerce'),
        'CO' => __('Corse', 'woocommerce'),
        'IF' => __('Île-de-France', 'woocommerce'),
        'GE' => __('Grand Est', 'woocommerce'),
        'HF' => __('Hauts-de-France', 'woocommerce'),
        'NO' => __('Normandie', 'woocommerce'),
        'NA' => __('Nouvelle-Aquitaine', 'woocommerce'),
        'OC' => __('Occitanie', 'woocommerce'),
        'PL' => __('Pays de la Loire', 'woocommerce'),
        'PA' => __('Provence-Alpes-Côte d’Azur', 'woocommerce'),
    );
    return $states;
}

代码进入您的活动子主题(或活动主题)的 function.php 文件。已测试并有效。

Country Iso Codes


在配送区域设置中:

在购物车(运费计算器)中:

正在结帐: