如何向 WooCommerce 添加国家/地区的新州?

问题描述 投票:0回答:3

我想在 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 添加国家/地区的新州?

php wordpress woocommerce state country-codes
3个回答
2
投票

你没有使用正确的钩子和方法来做到这一点。请改用以下内容:

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
钩子


0
投票

通过此方法,您可以将更多州添加到任何国家/地区的现有州列表中。

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;
 }

0
投票

我终于找到了解决方案,真的很感激,但是因为我的WordPress是两种语言的,所以另一种语言显示同样的东西。有解决办法吗?

© www.soinside.com 2019 - 2024. All rights reserved.