Jak wyłączyć metodę płatności dla określonej kategorii?
Opublikowany: 2020-09-01Prowadzisz sklep WooCommerce i chcesz wiedzieć, jak możesz wyłączyć metodę płatności dla określonej kategorii lub wiele metod płatności w oparciu o kategorie produktów obecne w koszyku? Jeśli szukasz rozwiązania, które koncentruje się na kategoriach produktów, ale po niewielkich zmianach można je również zmienić dla klas wysyłkowych, na przykład na samych produktach, ten artykuł podpowie Ci, jak to osiągnąć.
Wyłącz metodę płatności dla określonej kategorii
Dobrym przykładem, w którym takie podejście jest przydatne, jest sytuacja, gdy właściciele sklepów WooCommerce mają kategorię zawierającą tylko produkty o wysokiej cenie i chcą, aby klienci płacili przelewami bankowymi zamiast kartą kredytową. To tylko przykład wielu sytuacji, w których konieczne może być wyłączenie metody płatności dla kategorii.
Jeśli nie znasz się na technologii, możesz zdecydować się na wtyczkę premium, która wykona tę pracę za Ciebie. Przykładem jest wtyczka płatności warunkowej WooCommerce, która pomaga tworzyć warunki, w których metody płatności będą włączone lub wyłączone. Jeśli nie jesteś tak dobry w posługiwaniu się kodem, będzie to najlepsze rozwiązanie premium, które powinieneś rozważyć.
Co więcej, ta wtyczka pozwala tworzyć nieograniczone warunki i używać, na przykład, sum koszyka, kraju rozliczenia, roli użytkownika i wielu innych, aby określić, która bramka płatności pokazuje, a która nie.
Jednak w tym krótkim samouczku pokażę, jak wyłączyć metodę płatności dla określonej kategorii za pomocą fragmentów kodu PHP.
Kroki, aby wyłączyć metodę płatności dla określonej kategorii za pomocą fragmentu kodu PHP
Oto proste kroki, które musisz wykonać:
- Zaloguj się do swojej witryny WordPress i uzyskaj dostęp do pulpitu nawigacyjnego jako administrator.
- Z menu Dashboard kliknij menu Wygląd > Menu edytora motywów . Po otwarciu strony Theme Editor poszukaj pliku funkcji motywu, w którym dodamy funkcję, która wyłączy metodę płatności dla określonej kategorii.
- Dodaj następujący kod do pliku php :
/** * @snippet Wyłącz metodę płatności dla określonej kategorii */ add_filter( 'woocommerce_available_payment_gateways', 'njengah_unset_gateway_by_category' ); funkcja njengah_unset_gateway_by_category( $available_gateways) { if ( is_admin() ) zwraca $available_gateways; if ( ! is_checkout() ) zwraca $available_gateways; $unset = fałsz; $category_ids = tablica( 8, 37 ); foreach ( WC()->cart->get_cart_contents() as $klucz => $wartości ) { $terms = get_the_terms( $values['product_id'], 'product_cat' ); foreach ( $terms jako $term ) { if ( in_array( $term->term_id, $category_ids )) { $unset = prawda; złamać; } } } if ( $unset == true ) unset( $available_gateways['czeke']); zwróć $available_gateways; }
- To będą wyniki
Pamiętaj, aby dodać prawidłowy identyfikator kategorii, który znajduje się w Twoim sklepie WooCommerce, aby ten kod działał.
Jeśli nie lubisz używać identyfikatora kategorii, możesz również użyć ślimaka kategorii w swoim sklepie WooCommerce. Możesz zdecydować się na ich użycie, ponieważ są one łatwiejsze do zrozumienia na przyszłość.
Kroki, aby wyłączyć metodę płatności dla określonej kategorii przy użyciu ślimaków kategorii
- Zaloguj się do swojej witryny WordPress i uzyskaj dostęp do pulpitu nawigacyjnego jako administrator.
- Z menu Dashboard kliknij menu Wygląd > Menu edytora motywów . Po otwarciu strony Theme Editor poszukaj pliku funkcji motywu, w którym dodamy funkcję, która wyłączy metodę płatności dla określonej kategorii.
- Dodaj następujący kod do pliku php :
/** * @snippet Wyłącz bramkę płatności na podstawie kategorii. */ funkcja njengah_disable_payment_gateway_category ( $ bramki ) { // Kategorie, które wyłączą bramkę płatności $category_slugs = array( ' akcesoria', 'inna-kategoria' ); $category_ids = get_terms( array( 'taxonomy' => 'product_cat', 'slug' => $category_slugs, 'fields' => 'ids' ) ); // Sprawdź każdy element koszyka dla danej kategorii foreach ( WC()->cart->get_cart() as $item ) { $produkt = $pozycja['dane']; if ( $product && array_intersect( $category_ids, $product->get_category_ids() ) ) { unset( $gateways['cod'] ); // Wyłącz „kod” bramki płatności, gdy produkt ma jedną z kategorii złamać; } } zwróć $bramy; } add_filter( 'woocommerce_available_payment_gateways', 'njengah_disable_payment_gateway_category' );
- To będzie wynik
Pamiętaj, aby dodać właściwy slug kategorii i musisz zdefiniować bramkę płatności, którą chcesz wyłączyć. W moim przykładzie użyłem słowa „kod” do przedstawienia gotówki przy odbiorze.
Ważne jest, aby pamiętać, że identyfikator bramki płatności również musi zostać zmieniony na taki, który chcesz wyłączyć, gdy dana kategoria jest obecna w koszyku.
- Przelew bankowy (bac)
- Czek (czek)
- Pobranie (kod)
- PayPal (PayPal)
Jeśli jednak nie korzystasz z jednej z domyślnych bramek płatności, nie martw się, ponieważ nadal istnieje łatwy sposób na znalezienie identyfikatora bramki płatności. Możesz to zrobić, przechodząc na stronę ustawień bramki płatności i tam znajdziesz identyfikator.
Na przykład dla opcji Płatność przy odbiorze na stronie ustawień będzie to adres URL: wp-admin/admin.php?page=wc-settings&tab=checkout§ion=cod
Wniosek
W tym poście dowiedziałeś się, jak wyłączyć metodę płatności dla określonej kategorii za pomocą dwóch metod. Możesz je zdefiniować za pomocą identyfikatorów kategorii produktów lub informacji o kategorii, aby móc je łatwo wykorzystać w przyszłości. Pamiętaj, aby użyć identyfikatora kategorii lub ślimaka, który znajduje się w Twoim sklepie WooCommerce, aby dodać tę funkcję.
Podobne artykuły
- Przekierowanie WRAC WooCommerce po wtyczce Checkout
- Jak zmienić tekst przycisku Dodaj do koszyka na stronie sklepu WooCommerce?
- Jak usunąć menu pobierania Moje konto Strona WooCommerce
- Jak sprzedawać produkty cyfrowe za pomocą WooCommerce
- Jak usunąć domyślne sortowanie produktów WooCommerce?
- Jak dodać numery GTIN do produktów w WooCommerce?
- Jak sortować kategorie WooCommerce w celu lepszego doświadczenia użytkownika?
- Jak ukryć wszystkie produkty ze strony sklepu w WooCommerce?
- Jak ukryć pole kodu kuponu WooCommerce?
- Ukryj lub usuń pole ilości na stronie produktu WooCommerce
- Jak wyświetlać produkty WooCommerce według kategorii?
- Jak dodać obraz produktu stronę kasy WooCommerce