我拼命想了解,WooCommerce 如何将某些国家/地区的县/州名称转换为数据库字段常量并返回。
IE。
我有一位来自希腊的客户,他恰好来自一个县/州,我没有在这个键盘上找到要命名的字母。
显然,即使 WooCommerce 也没有字母,因为在数据库中,县/州也仅保存为“D”。
我可以使用什么功能将其还原为它的前端形式
编辑 1。
我发现了类似的东西,但我不确定如何使用它。
我拼命想了解,WooCommerce 如何将某些国家/地区的县/州名称转换为数据库字段常量并返回。
IE。
我有一位来自希腊的客户,他恰好来自一个县/州,我没有在这个键盘上找到要命名的字母。
显然,即使 WooCommerce 也没有字母,因为在数据库中,县/州也仅保存为“D”。
我可以使用什么功能将其还原为它的前端形式
我发现了类似的东西,但我不确定如何使用它。
有两种方法可以做到这一点。
1)直接使用WC()->countries
对象(如果可用):
$countries = WC()->countries;
2)使用WC_Countries
对象的实例:
$countries_obj = new WC_Countries();
然后你可以使用任何
WC_Countries
方法。
获取数组中的所有发货国家/地区代码/名称,并获取多级数组中的所有国家/地区代码/名称:
// Get all countries key/names in an array:
$countries_array = WC()->countries->get_countries();
// Get all country states key/names in a multilevel array:
$country_states_array = WC()->countries->get_states();
或者
$countries_obj = new WC_Countries();
// Get all countries key/names in an array:
$countries_array = $countries_obj->get_countries();
// Get all country states key/names in a multilevel array:
$country_states_array = $countries_obj->get_states();
例如,如果国家代码是GR
,州代码是D
:
$countries_obj = new WC_Countries();
$countries_array = $countries_obj->get_countries();
$country_states_array = $countries_obj->get_states();
// Get the country name:
$country_name = $countries_array['GR'];
// Get the state name:
$state_name = $country_states_array['GR']['D'];
// Display names:
echo 'Country name: ' . $country_name . ' <br>State name: ' . $state_name;
这将显示:
国名:希腊
国名:Ήπειρος
好...
看来你必须加载国家和县
$wcCountries = new WC_Countries();
$wcCountries->load_country_states();
因此 states 全局变量变得可用
global $states
因此,您可以通过以下方式检索您的全州名称
$countyCode = isset($states[$countryCode][$countyCode]) ? $states[$countryCode][$countyCode] : $countyCode;
因为一些县代码无论如何都使用他们的全名。
快乐编码!