web-dev-qa-db-ger.com

Filtern Sie in WooCommerce die verfügbaren Zahlungsmethoden nach Benutzerrolle

Ist es möglich, verfügbare Zahlungsmethoden nur mithilfe der WooCommerce-Konfiguration nach bestimmten Benutzerrollen zu filtern? Ohne irgendetwas zu einer Vorlagendatei hinzuzufügen, meine ich. Was ich erreichen möchte, ist die Möglichkeit zu geben, nur bestimmten Benutzern mit Kreditkarte zu bezahlen.

2
Sergi

In der Standardkonfiguration von WooCommerce ist dies nicht möglich.

Sie müssen das Plugin unten installieren.

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

oder programmgesteuert können Sie unter Link verweisen.

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

7
Pribhav

Sie können Folgendes verwenden:

  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