在Woocommerce中添加运输区域的状态而不是邮政编码

时间:2018-08-01 18:01:14

标签: php wordpress woocommerce checkout shipping

我有一个woocommerce网站。在woocommerce中,默认情况下,我可以通过邮政编码限制运输区域。...但是,如何在运输区域中添加我所在国家的州,以便客户可以通过结帐页面中的“下拉菜单”选择居住的州,而无需输入邮政编码?

我是编码的新手,所以有人可以告诉我在哪里输入编码。

请...

1 个答案:

答案 0 :(得分:2)

如果在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


在“运输区域设置”中:

enter image description here

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

enter image description here

结帐:

enter image description here