Categories: Woocommerce

Скрыть метод оплаты для не авторизованных пользователей Woocommerce

Часто бывает необходимо скрыть от пользователей метод оплаты. Как пример: у нас есть интернет-магазин, где пользователи покупают товары без авторизации и создания аккаунтов. Для тестирования эквайринга на сайте (в нашем случае это эквайринг от Сбербанка) нужно скрыть этот метод оплаты от всех, кроме админа, который авторизовался.

То есть нам надо включить метод оплаты только для зарегистрированных пользователей

Нужно добавить следующий код в файл functions.php:

function sberbank_for_logged_user($available_gateways)
{
  global $woocommerce;
 
  if ( !is_user_logged_in() ) { unset($available_gateways['rbspayment']); }
 
  return $available_gateways;
}
add_action('woocommerce_available_payment_gateways', 'sberbank_for_logged_user');

Обратите внимание на $available_gateways['rbspayment'] - где взять название метода?

Все очень просто, можно посмотреть в админке, в ссылке на этот метод, в параметре &section=rbspayment:


Наведите мышкой на способ оплаты, чтобы увидеть ссылку

Admin

Share
Published by
Admin
Tags: Woocommerce

Recent Posts

Отправка писем WooCommerce через GMail

Если письма с сайта не приходят, можно попробовать отправлять из через почтовый сервер gmail. Для…

7 месяцев ago

html audio play/pause button

jQuery аудио плейер на сайт для нескольких треков с кнопкой Play/Pause

1 год ago

Чек лист по закуску сайта

Favicon Фавиконка это маленькая пиктограмма сайта, нужна для отображения на вкладке браузера и в закладках.…

1 год ago

Не получается зайти в админку WordPress

При входе в админку происходит редирект на ту же страницу входа. Эта статья для вас,…

1 год ago

wp-cli RuntimeException: failed to get url No working transport found

Иногда можно получить такую ошибку: RuntimeException: failed to get url ... No working transport found…

1 год ago

wp-cli под Windows

Перед запуском wp-cli вам потребуется скачать и установить cygwin Весь wp-cli это один файл, который…

1 год ago