我有一个 woocommerce 网站。默认情况下,在 woocommerce 中,我可以通过邮政编码限制运输区域。但是,如何在送货区中添加我所在国家/地区的州,以便客户可以通过结帐页面中的“下拉菜单”而不是输入邮政编码来选择他们居住的州?
最佳答案
如果在 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 文件。测试和工作。
在运输区域设置中:
在购物车中(运费计算器):
结账时:
关于php - 在 Woocommerce 中为送货区添加州而不是邮政编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51639599/