Отображение методов оплаты в зависимости от страны или города покупателя

Недавно я опубликовал пост об отображении методов оплаты в зависимости от суммы заказа покупателя. Сегодня же попробуем законнектить их к его стране или городу.

Если у вас возникают трудности с WooCommerce, либо же, наоборот, вы не хотите довольствоваться вставкой готовых сниппетов кода, то вэлкам ту мой видеокурс.

В этом примере давайте попробуем отключить PayPal для… Монако? 😁 Палка вроде там не поддерживается.

Делать будем при помощи уже знакомого нам хука woocommerce_available_payment_gateways.

add_filter( 'woocommerce_available_payment_gateways', 'truemisha_gateway_by_country' );
 
function truemisha_gateway_by_country( $gateways ) {
 
	if ( isset( $gateways[ 'paypal' ] ) && 'MC' === WC()->customer->get_billing_country() ) {
		unset( $gateways[ 'paypal' ] );
	}
	return $gateways;
 
}
  • paypal – это ярлык стандартного шлюза PayPal, есть также и другие стандартные – cod, bacs, cheque
  • MC – двухбуквенный ISO-код страны, в данном случае Монако.
  • Возмжно в каких-то ситуациях вам нужно будет использовать WC()->customer->get_shipping_country() вместо WC()->customer->get_billing_country().
  • Потестил этот код в functions.php моей дочерней темы StoreFront – и он работает как для страницы Оформления заказа, так и для страницы оплаты конкретного заказа.
  • Если вы хотите проверять не страну покупателя, а например город, то можете изменить условие например так:
if ( isset( $gateways[ 'paypal' ] ) && 'Москва' === WC()->customer->get_billing_city() ) {

Если у вас возникают труности с тем, как узнать ID (ярлык) платёжного шлюза WooCommerce, то прошу взглянуть на этот скриншот:

Как узнать ID ярлык платёжного шлюза в WooCommerce
Заходим на вкладку платежи, кликаем правой кнопкой по любому методу оплату и выбираем «Проинспектировать элемент»

Миша

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

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

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

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

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

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

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