Устаналиваем страну и город по умолчанию на странице оформления заказа

Сегодня я хочу познакомить вас с тремя фильтр-хуками, которые позволят вам установить значение страны, области и города по умолчанию на странице оформления заказа WooCommerce.

Кстати говоря, про страницу оформления заказа у меня на сайте есть видеоурок.

Вот эти фильтр-хуки:

  • default_checkout_billing_country – страна,
  • default_checkout_billing_state – область / штат,
  • default_checkout_billing_city – город, населённый пункт.

Ну и сразу попробуем это в действии – устанавливаем Хельсинки, как город по умолчанию и страну по умолчанию – 🇫🇮

add_filter( 'default_checkout_billing_country', 'truemisha_default_checkout_country' );
add_filter( 'default_checkout_billing_state', 'truemisha_default_checkout_city' );
 
function truemisha_default_checkout_country( $country ) {
	return 'FI'; // двухбуквенный ISO код страны
}
 
function truemisha_default_checkout_city( $city ) {
	return 'Helsinki';
}

Также обратите внимание, что эти хуки работают как для зарегистрованных, так и для незарегистрированных пользователей. Вполне возможно, что вы бы не хотели изменять страну / город для зарегистрированного пользователя, у которого уже всё это указано, верно?

Вероятно вам сразу вспоминается WordPress-функция is_user_logged_in(), но давайте сделаем это в стиле WooCommerce.

add_filter( 'default_checkout_billing_country', 'truemisha_default_checkout_country' );
add_filter( 'default_checkout_billing_state', 'truemisha_default_checkout_city' );
 
function truemisha_default_checkout_country( $country ) {
 
	if ( WC()->customer->get_is_paying_customer() ) {
		return $country;
	}
 
	return 'FI';
}
 
function truemisha_default_checkout_city( $city ) {
 
	if ( WC()->customer->get_is_paying_customer() ) {
		return $city;
	}
 
	return 'Helsinki';
}

Миша

Впервые познакомился с WordPress в 2009 году. Организатор и спикер на конференциях WordCamp. Преподаватель в школе Нетология.

Пишите, если нужна помощь с сайтом или разработка с нуля.

Комментарии — 2

Чтобы оставить комментарий, пожалуйста, зарегистрируйтесь или войдите.

Миша Рудрастых и WordPress

Полезности из мира WordPress и жизни студии.

Мой телеграм-канал