So deaktivieren Sie die Zahlungsmethode für eine bestimmte Kategorie
Veröffentlicht: 2020-09-01Betreiben Sie einen WooCommerce-Shop und möchten wissen, wie Sie die Zahlungsmethode für eine bestimmte Kategorie oder mehrere Zahlungsmethoden basierend auf den im Warenkorb vorhandenen Produktkategorien deaktivieren können? Wenn Sie nach einer Lösung suchen, die sich auf Produktkategorien konzentriert, aber mit einigen kleinen Änderungen auch für Versandklassen geändert werden könnte, beispielsweise für Produkte selbst, wird Ihnen dieser Artikel zeigen, wie Sie dies erreichen können.
Deaktivieren Sie die Zahlungsmethode für eine bestimmte Kategorie
Ein gutes Beispiel dafür, wo dieser Ansatz nützlich ist, ist, wenn die WooCommerce-Ladenbesitzer eine Kategorie haben, die nur hochpreisige Produkte enthält, und möchten, dass Kunden mit Banküberweisungen bezahlen, anstatt eine Kreditkarte zu verwenden. Dies ist nur ein Beispiel für die vielen Situationen, in denen Sie möglicherweise eine Zahlungsmethode für eine Kategorie deaktivieren müssen.
Wenn Sie nicht technisch versiert sind, können Sie sich für ein Premium-Plugin entscheiden, das die Arbeit für Sie erledigt. Ein Beispiel ist das WooCommerce Conditional Payment Plugin, mit dem Sie Bedingungen erstellen können, unter denen Ihre Zahlungsmethoden aktiviert oder deaktiviert werden. Wenn Sie nicht so gut mit Code umgehen können, ist dies die beste Premium-Lösung, die Sie in Betracht ziehen sollten.
Darüber hinaus können Sie mit diesem Plugin unbegrenzte Bedingungen erstellen und beispielsweise Warenkorbsummen, Rechnungsland, Benutzerrolle und vieles mehr verwenden, um festzulegen, welches Zahlungsgateway angezeigt wird und welches nicht.
In diesem kurzen Tutorial werde ich Ihnen jedoch zeigen, wie Sie eine Zahlungsmethode für eine bestimmte Kategorie mithilfe von PHP-Code-Snippets deaktivieren.
Schritte zum Deaktivieren der Zahlungsmethode für bestimmte Kategorien mithilfe des PHP-Code-Snippets
Hier sind die einfachen Schritte, die Sie befolgen müssen:
- Melden Sie sich bei Ihrer WordPress-Site an und greifen Sie als Admin-Benutzer auf das Dashboard zu.
- Klicken Sie im Dashboard-Menü auf Darstellungsmenü > Themen-Editor-Menü . Wenn die Seite „ Theme-Editor “ geöffnet wird, suchen Sie nach der Theme-Funktionsdatei, in der wir die Funktion hinzufügen, die die Zahlungsmethode für eine bestimmte Kategorie deaktiviert.
- Fügen Sie der PHP -Datei den folgenden Code hinzu:
/** * @snippet Zahlungsmethode für bestimmte Kategorie deaktivieren */ add_filter( 'woocommerce_available_payment_gateways', 'njengah_unset_gateway_by_category' ); Funktion njengah_unset_gateway_by_category( $available_gateways ) { if ( is_admin() ) $ available_gateways zurückgeben; if ( ! is_checkout() ) return $available_gateways; $unset = falsch; $category_ids = array( 8, 37 ); foreach ( WC()->cart->get_cart_contents() as $key => $values ) { $terms = get_the_terms( $values['product_id'], 'product_cat' ); foreach ( $terms als $term ) { if ( in_array( $term->term_id, $category_ids ) ) { $unset = wahr; brechen; } } } if ( $unset == true ) unset( $available_gateways['cheque'] ); $verfügbare_Gateways zurückgeben; }
- Das werden die Ergebnisse sein
Denken Sie daran, die richtige Kategorie-ID hinzuzufügen, die sich in Ihrem WooCommerce-Shop befindet, damit dieser Code funktioniert.
Wenn Sie die Kategorie-ID nicht verwenden möchten, können Sie auch den Kategorie-Slug in Ihrem WooCommerce-Shop verwenden. Sie können sich dafür entscheiden, sie zu verwenden, da sie zum späteren Nachschlagen leichter verständlich sind.
Schritte zum Deaktivieren der Zahlungsmethode für eine bestimmte Kategorie mithilfe von Kategorie-Slugs
- Melden Sie sich bei Ihrer WordPress-Site an und greifen Sie als Admin-Benutzer auf das Dashboard zu.
- Klicken Sie im Dashboard-Menü auf Darstellungsmenü > Themen-Editor-Menü . Wenn die Seite „ Theme-Editor “ geöffnet wird, suchen Sie nach der Theme-Funktionsdatei, in der wir die Funktion hinzufügen, die die Zahlungsmethode für eine bestimmte Kategorie deaktiviert.
- Fügen Sie der PHP -Datei den folgenden Code hinzu:
/** * @snippet Zahlungsgateway basierend auf Kategorie deaktivieren. */ Funktion njengah_disable_payment_gateway_category( $gateways ) { // Kategorien, die das Zahlungsgateway deaktivieren $category_slugs = array( 'accessories', 'another-category' ); $category_ids = get_terms( array( 'taxonomy' => 'product_cat', 'slug' => $category_slugs, 'fields' => 'ids' ) ); // Überprüfen Sie jeden Warenkorbartikel auf die angegebene Kategorie foreach ( WC()->cart->get_cart() as $item ) { $product = $item['data']; if ( $product && array_intersect( $category_ids, $product->get_category_ids() ) ) { unset( $gateways['cod'] ); // Zahlungs-Gateway 'cod' deaktivieren, wenn das Produkt eine der Kategorien hat brechen; } } gib $gateways zurück; } add_filter( 'woocommerce_available_payment_gateways', 'njengah_disable_payment_gateway_category' );
- Das wird das Ergebnis sein
Denken Sie daran, den richtigen Kategorie-Slug hinzuzufügen, und Sie müssen das Zahlungsgateway definieren, das Sie deaktivieren möchten. In meinem Beispiel habe ich „Kabeljau“ verwendet, um Nachnahme darzustellen.
Es ist wichtig zu beachten, dass die Zahlungs-Gateway-ID ebenfalls in die geändert werden muss, die Sie deaktivieren möchten, wenn die angegebene Kategorie im Warenkorb vorhanden ist.
- Banküberweisung (bacs)
- Scheck (Scheck)
- Nachnahme (Kabeljau)
- PayPal (PayPal)
Wenn Sie jedoch keines der Standard-Zahlungsgateways verwenden, machen Sie sich keine Sorgen, da es immer noch eine einfache Möglichkeit gibt, die ID des Zahlungsgateways herauszufinden. Sie können dies tun, indem Sie zur Seite mit den Zahlungsgateway-Einstellungen gehen und dort die ID finden.
Zum Beispiel für die Option Nachnahme auf der Einstellungsseite ist dies die URL: wp-admin/admin.php?page=wc-settings&tab=checkout§ion=cod
Fazit
In diesem Beitrag haben Sie gelernt, wie Sie die Zahlungsmethode für bestimmte Kategorien mit zwei Methoden deaktivieren können. Sie können sie mithilfe von Produktkategorie-IDs oder Kategorie-Slugs für eine einfache zukünftige Bezugnahme definieren. Denken Sie daran, die Kategorie-ID oder den Slug in Ihrem WooCommerce-Shop zu verwenden, um diese Funktionalität hinzuzufügen.
Ähnliche Artikel
- WRAC WooCommerce Redirect After Checkout-Plugin
- So ändern Sie den Text der Schaltfläche „In den Warenkorb“ auf der WooCommerce-Shop-Seite
- So entfernen Sie das Downloads-Menü Meine Kontoseite WooCommerce
- So verkaufen Sie digitale Produkte mit WooCommerce
- So entfernen Sie die standardmäßige Produktsortierung WooCommerce
- So fügen Sie GTIN-Nummern zu Produkten in WooCommerce hinzu
- So sortieren Sie WooCommerce-Kategorien für eine bessere Benutzererfahrung
- So verstecken Sie alle Produkte auf der Shop-Seite in WooCommerce
- So blenden Sie das WooCommerce-Gutscheincodefeld aus
- Blende das Mengenfeld von der WooCommerce-Produktseite aus oder entferne es
- So zeigen Sie WooCommerce-Produkte nach Kategorie an
- So fügen Sie eine Produktbild-WooCommerce-Checkout-Seite hinzu