@godlikebasic
Backend PHP

Как убрать лишние страны доставки в WooCommerce?

Задача тривиальна. Нужно в WooCommerce при оформлении заказа оставить всего лишь несколько стран(в дальнейшем планирую их переименовать). Нашел такой код
function woo_override_checkout_fields( $fields ) {

    $fields['shipping']['shipping_country'] = array(
        'type'      => 'select',
        'label'     => __('My New Country List', 'woocommerce'),
        'options'     => array('AU' => 'Australia')
    );

    return $fields;
}
add_filter( 'woocommerce_checkout_fields' , 'woo_override_checkout_fields' );

Вставил в function.php. Напрочь отказывается работать. Пытался по-разному переделывать - никакой реакции. Даже документацию просмотрел, не получается отфильтровать страны доставки. Или может подскажите где хранится этот список, это тоже решит проблему.
Заранее благодарю.
  • Вопрос задан
  • 2370 просмотров
Решения вопроса 1
politon
@politon
HTML5,CSS3,JS,PHP,SQL,API,canvas,animation...
В ПУ WooCommerce > Настройки > Доставка
Полный список здесь wp-admin/includes/continents-cities.php
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@megahanga
Держите, уважаемое интернет сообщество, ибо удивительно, что ответа нет:
add_filter( 'woocommerce_countries',  'v888v_add_new_country' );
function v888v_add_new_country( $countries ) {
	$new_countries = [];
	/*так, например, выбрать, что оставить*/
	foreach($countries as $k => $v){
		if($k == 'KZ') $new_countries[$k] = $v;
		if($k == 'RU') $new_countries[$k] = $v;
		if($k == 'UA') $new_countries[$k] = $v;
	}
	/*или ввести только то, что нужно*/
	$new_countries = array(
		'RU' => 'Россия',
	);
	return $new_countries;
}

Жду лайки)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы