Mit folgendem PHP-Code lassen sich relativ einfach die Bezahlmethoden in WooCommerce filtern:
<?php // WooCommerce Bezahlmethoden anpassen function custom_disable_payment_gateways($available_gateways) { // Variablen bestimmen $disable_german_market_purchase_on_account=false; // Warenkorb laden $woocommerce_cart = WC()->cart; $cart_items = $woocommerce_cart->get_cart(); // Einträge durchgehen foreach ($cart_items as $cart_item) { // Gutscheine-Kategorie prüfen $product_id=$cart_item['product_id']; if (has_term('gutscheine', 'product_cat', $product_id)) $disable_german_market_purchase_on_account=true; } // Zahlung auf Rechnung deaktivieren if ($disable_german_market_purchase_on_account) unset($available_gateways['german_market_purchase_on_account']); unset($available_gateways['german_market_purchase_on_account']); return $available_gateways; } add_filter('woocommerce_available_payment_gateways', 'custom_disable_payment_gateways');
In diesem Beispiel wird die Bezahlart auf Rechnung deaktiviert, falls ein Gutschein im Warenkorb liegt.