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

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

Если у вас возникают трудности с 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
Заходим на вкладку платежи, кликаем правой кнопкой по любому методу оплату и выбираем «Проинспектировать элемент»

Миша

В последние годы я долго не знал, что мне делать с сайтом misha.blog, ведь он практически не приносит никакого профита, но недавно я осознал, что моя миссия – способствовать распространению WordPress. Ведь WordPress – это лучший движок для разработки сайтов – как для тех, кто готов использовать заложенную структуру этой CMS, так и для тех, кто предпочитает headless решения.

Сам же я впервые познакомился с WordPress в 2009 году. Организатор WordCamp. Преподаватель в школах Epic Skills и LoftSchool.

Если вам нужна помощь с вашим сайтом или может даже разработка с нуля на WordPress / WooCommerce — пишите. Я и моя команда сделаем вам всё на лучшем уровне.

Оставить комментарий

Если вы хотите добавить код, не забудьте обернуть его в <pre lang="php"></pre>, если же код – меньше одной строчки, то можно и в <code></code>.