我想在 WooCommerce 中添加新状态。我使用了 woo-state 和 snippet 插件并添加了以下代码:
function woo_add_my_country( $country ) {
$country["AE-DU"] = 'Dubai';
return $country;
}
add_filter( 'woocommerce_countries', 'woo_add_my_country', 10, 1 );
但我还是看不到。
如何向 WooCommerce 添加国家/地区的新州?
你没有使用正确的钩子和方法来做到这一点。请改用以下内容:
add_filter('woocommerce_states', 'add_country_states');
function add_country_states( $states ) {
// If states already exist for "AE" country (add it to existing ones)
if( isset($states['AE'] ) ) {
$states['AE']['DU'] = __('Dubai', 'woocommerce');
}
// IF states doesn't exist for "AE" country add the new states
else {
// One state by line in the array with its code as key
$states['AE'] = array(
'DU' => __('Dubai', 'woocommerce'),
);
}
return $states;
}
您可以将占位符添加到“AE”国家/地区代码的选择字段,例如(可选):
add_filter('woocommerce_get_country_locale', 'filter_get_country_locale');
function filter_get_country_locale( $country_locale ) {
$country_locale['AE']['state']['placeholder'] = __('Select a state', 'woocommerce');
return $country_locale;
}
代码位于活动子主题(或活动主题)的functions.php 文件中。已测试并有效。
所有相关的问题和答案都使用
woocommerce_states
钩子。
通过此方法,您可以将更多州添加到任何国家/地区的现有州列表中。
add_filter( 'woocommerce_states', 'adding_custom_country_states' );
function adding_custom_country_states( $states ) {
// Define the related country code
$country_code = 'DE';
// Define for each state a different state code
$new_states = array(
'DE-NDS' => __('Lower Saxony', 'woocommerce'),
);
// Merge existing states with the new states
$states[$country_code] += $new_states;
return $states;
}
我终于找到了解决方案,真的很感激,但是因为我的WordPress是两种语言的,所以另一种语言显示同样的东西。有解决办法吗?