Как добавить новое состояние (а) для страны в WooCommerce? - PullRequest
2 голосов
/ 07 августа 2020

Я хочу добавить новое состояние в 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?

1 Ответ

2 голосов
/ 07 августа 2020

Вы используете неправильный хук и неправильный способ сделать это. Вместо этого используйте следующее:

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

Код входит в функции. php файл вашей активной дочерней темы (или активной темы). Протестировано и работает.

Все связанные вопросы и ответы с помощью woocommerce_states hook .

...