web-dev-qa-db-ja.com

WooCommerceでは、利用可能な支払い方法をユーザーロールでフィルタリングします

WooCommerceの設定を使用して、利用可能な支払い方法を特定のユーザーロールに絞り込むことはできますか?テンプレートファイルに何も追加しなくてもいいのです。私が達成したいのは特定のユーザーだけにクレジットカードで支払う可能性を与えることです。

2
Sergi

WooCommerceのデフォルト設定では不可能です。

あなたはプラグインの下にインストールする必要があります。

https://codecanyon.net/item/woocommerce-role-based-payment-shipping-methods/18953727

またはプログラム的には、下記のリンクを参照することができます。

https://businessbloomer.com/disable-payment-gateway-specific-user-role-woocommerce/ /

7
Pribhav

あなたは以下を使うことができます:

  add_filter('woocommerce_available_payment_gateways', 'filter_gateways', 1);
  function filter_gateways($gateways)
  {
      $current_user = wp_get_current_user();
      $role = $current_user->roles;
      global $woocommerce;
      /* add your user role in condition and payment method which you need to unset*/
      if ($role[0] == 'administrator') {
          unset($gateways['cod']);
      }
      return $gateways;
  }
6
Sonali