Скрыть метод оплаты для не авторизованных пользователей 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'] - где взять название метода?

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

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

Перейти к верхней панели