Раскрывающийся список значений авто страны / штата / города woocommerce storefront

Ищете раскрывающуюся страну / штат / город. Я получаю автостраду государства страны, но города не проходят хорошо. По умолчанию в состоянии получить страну.

          // State-Country additions

/**
* Code goes in functions.php or a custom plugin.
*/

add_filter('woocommerce_states', 'SA_woocommerce_states');
function SA_woocommerce_states( $states ) {
$states['ZA'] = array(
'EC' => __('Eastern Cape', 'woocommerce'),

);
return $states;
}

// Change "city" checkout billing and shipping fields to a dropdown

add_filter('woocommerce_checkout_fields', 'override_checkout_city_fields');
function override_checkout_city_fields($fields) {

// Define here in the array your desired cities (Here an example of cities)
$option_cities = array(
'' => __( 'Select your city' ),
'a' => 'a',

);

$fields['billing']['billing_city']['type'] = 'select';
$fields['billing']['billing_city']['options'] = $option_cities;
$fields['shipping']['shipping_city']['type'] = 'select';
$fields['shipping']['shipping_city']['options'] = $option_cities;

return $fields;
}

0

Решение

Фактическим кодом вы заменяете все существующие штаты «ЮАР» на один штат. Итак, вы получаете что-то вроде:

введите описание изображения здесь

Чтобы добавить это состояние, вам нужно немного изменить код следующим образом:

add_filter('woocommerce_states', 'sa_woocommerce_states');
add_filter('woocommerce_countries_allowed_country_states', 'sa_woocommerce_states');
function SA_woocommerce_states( $states ) {
$states['ZA']['EC'] = __('Eastern Cape', 'woocommerce');
return $states;
}

Код помещается в файл function.php вашей активной дочерней темы (или темы) или также в любой файл плагина.

Проверено и работает. На этот раз вы получите это:

введите описание изображения здесь

Теперь, чтобы автоматически заселить города, вы должны использовать это:

add_filter( 'woocommerce_default_address_fields', 'override_checkout_city_fields', 10, 1 );
function override_checkout_city_fields($fields) {

// Define here in the array your desired cities (Here an example of cities)
$option_cities = array(
'' => __( 'Select your city' ),
'a' => 'a',

);

$fields['city']['type'] = 'select';
$fields['city']['options'] = $option_cities;

return $fields;
}

Код помещается в файл function.php вашей активной дочерней темы (или темы) или также в любой файл плагина.

проверенная реклама работает…

Но вы не получите города по штатам, так как это реальное развитие и слишком широкое для StackOverFlow

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]