Bei meiner Suche zur Lösung des Problems bin ich hier gelandet und möchte, den Interressierten, die evtl. ein ähnliches oder sogar das gleiche Problem haben, mal meine Lösung vorstellen.
Ist zwar schon länger her der Beitrag aber vielleicht hilft es ja trotzdem wem.
Als erstes habe ich mir das Plugin "WPFront User Role Editor" installiert und dort die Benutzerrolle "Aur Rechnung" als Kopie vom Benutzer "Customer" angelegt.
Danach einfach dem gewünschten Kunden diese Rolle zuweisen.
Jetzt noch in WooCommerce die Zahlungsart "Scheck" anpassen z.B. Titel "Kauf auf Rechnung" und in die functions.php folgenden Code einfügen
und schon kann der Käufer ab sofort auf Rechnung kaufen, jedoch alle anderen nicht.
Um einen Gateway zu aktivieren:
in diesem Fall - Scheck
function custom_gateway_enable( $available_gateways ) {
global $woocommerce;
if ( isset( $available_gateways['cheque'] ) && !current_user_can('auf_rechnung') ) {
unset( $available_gateways['cheque'] );
}
return $available_gateways;
}
add_filter( 'woocommerce_available_payment_gateways', 'custom_gateway_enable' );
Um einen Gateway zu deaktivieren:
z.B. PayPal
function custom_gateway_disable( $available_gateways ) {
global $woocommerce;
if ( isset( $available_gateways['paypal'] ) && current_user_can('auf_rechnung') ) {
unset( $available_gateways['paypal'] );
}
return $available_gateways;
}
add_filter( 'woocommerce_available_payment_gateways', 'custom_gateway_disable' );
*/
Ich benutze zusätzlich noch Germanized, dort gibt es die Funktion "Rechnungskauf" schon. Wollt ihr diese nutzen anstatt des Schecks einfach "invoice" gegen "cheque" tauschen.
Für Fragen stehe ich gern zu Verfüfung und hoffe es bringt jemanden was.