
🚫 Czyścimy checkout WooCommerce: usuwamy niepotrzebne metody płatności według kraju, kwoty i roli
Klient wypełnił koszyk, dotarł do finalizacji zamówienia i widzi pięć metod płatności, z których działają dwie. Trzecią testowali Państwo miesiąc temu i zapomnieli wyłączyć, czwarta nie przyjmuje płatności z jego kraju, a piąta wisi jako martwy balast po dezaktywacji starej wtyczki. Brzmi znajomo?
Każdy zbędny gateway przy checkout to tarcie. Klient traci dodatkowe sekundy na wybór, a jeśli wybierze niedziałającą metodę, porzuca koszyk. Według danych Baymard Institute, 22% użytkowników opuszcza checkout właśnie z powodu skomplikowanego lub niejasnego procesu finalizacji.
Poniżej trzy sposoby na uporządkowanie metod płatności w WooCommerce: od wbudowanego panelu do szybkiego czyszczenia po kod proceduralny na dowolne warunki. Każdy został sprawdzony na działającym sklepie, z konkretnymi przykładami i pułapkami.
Co trzeba wiedzieć przed wyłączeniem
💡 Szybki przegląd:
- Sposób 1: WooCommerce → Ustawienia → Płatności, dwa kliknięcia, wyłącza gateway dla wszystkich klientów naraz
- Sposób 2: filtr
woocommerce_available_payment_gatewayswfunctions.php, warunki według kraju, kwoty koszyka, roli użytkownika - Sposób 3: bezpłatna wtyczka Conditional Payments for WooCommerce, wizualny konstruktor, ani jednej linii kodu
Przed jakimikolwiek zmianami, pełna kopia zapasowa. Bezpłatny UpdraftPlus załatwia sprawę: kilka kliknięć i kopia strony leży w chmurze. Po wyłączeniu gatewayów proszę koniecznie przejść testowe zamówienie od koszyka do strony z podziękowaniem i upewnić się, że pozostałe metody przyjmują płatność bez błędów.
I najważniejsze: nigdy nie wyłączać WSZYSTKICH gatewayów jednocześnie. Proszę zostawić przynajmniej jeden działający sposób płatności, w przeciwnym razie klienci po prostu nie będą mogli sfinalizować zamówienia, a Państwo dowiedzą się o tym z dzwoniącej ciszy w skrzynce mailowej.
Sposób 1: Panel WooCommerce, dwa kliknięcia, zero ryzyka
Najprostsza i najbezpieczniejsza droga. Sprawdza się, gdy trzeba usunąć konkretny gateway dla WSZYSTKICH klientów bez żadnych warunków.
Proszę otworzyć WooCommerce → Ustawienia w bocznym menu panelu administracyjnego i przejść na zakładkę Płatności. Przed Państwem tabela wszystkich zarejestrowanych metod płatności z kolumną Włączone. Aktywne gatewaye są podświetlone na fioletowo, wyłączone na szaro.

Aby wyłączyć metodę, proszę kliknąć przełącznik w kolumnie Włączone, zmieni kolor na szary. To wszystko. Gateway natychmiast znika z checkoutu. Żadnego kodu, żadnych wtyczek.

Alternatywna ścieżka do tego samego rezultatu: proszę kliknąć nazwę metody na liście, odznaczyć Włącz tę bramkę płatności i zapisać.

Czego ten sposób NIE potrafi
Ograniczenie jest dokładnie jedno, ale istotne: wyłącza się gateway globalnie. Jeśli sklep działa na kilka krajów lub potrzebują Państwo ukrywać metodę tylko pod pewnymi warunkami (kwota zamówienia poniżej progu, produkt z kategorii „cyfrowe", klient z UE), panel nie pomoże. W przypadku logiki warunkowej proszę przejść do sposobów 2 i 3.
Sposób 2: Kod, filtr woocommerce_available_payment_gateways
WooCommerce udostępnia hook woocommerce_available_payment_gateways. Uruchamia się on bezpośrednio przed wyświetleniem listy metod przy checkout i pozwala usuwać gatewaye na podstawie kilkunastu różnych warunków: kraj, kwota koszyka, rola użytkownika, kategoria produktu w zamówieniu.
Kod dodaje się w pliku functions.php motywu potomnego lub przez wtyczkę Code Snippets. Jeśli nie ma Pan/Pani jeszcze motywu potomnego, proszę go utworzyć przed wprowadzaniem zmian, w przeciwnym razie wszystko zniknie przy pierwszej aktualizacji motywu nadrzędnego.
2.1. Ukrycie wszystkich metod płatności jednocześnie
Czasami trzeba całkowicie usunąć formularz płatności: na przykład strona jest w trybie konserwacji, a testuje Pan/Pani koszyk. Jeden wiersz w functions.php:

1 add_filter( 'woocommerce_cart_needs_payment', '__return_false' );
Filtr mówi WooCommerce: „płatność nie jest wymagana". Formularz płatności znika z checkoutu całkowicie. Proszę kliknąć Update file i nie zapomnieć usunąć tego wiersza po testach, w przeciwnym razie żadne rzeczywiste zamówienie nie zostanie zrealizowane.
2.2. Wyłączenie bramki dla konkretnego kraju
Załóżmy, że przyjmuje Pan/Pani zamówienia z USA i Europy. Klienci ze Stanów płacą przez PayPal, a Europejczykom jest on niepotrzebny, bo mają lokalne bramki. Poniższy kod usuwa PayPal dla adresu płatności w USA:
1 add_filter( 'woocommerce_available_payment_gateways', 'quadlayers_payment_gateway_disable_country' ); 2 function quadlayers_payment_gateway_disable_country( $available_gateways ) { 3 if ( is_admin() ) return $available_gateways; 4 if ( isset( $available_gateways['paypal'] ) && WC()->customer->get_billing_country() === 'US' ) { 5 unset( $available_gateways['paypal'] ); 6 } 7 return $available_gateways; 8 }
Kluczowym elementem jest gateway ID. Każda bramka ma swój własny: paypal (PayPal), stripe (Stripe), bacs (przelew bankowy) i cod (za pobraniem). Jeśli nie zna Pan/Pani ID, proszę otworzyć WooCommerce → Ustawienia → Płatności, kliknąć prawym przyciskiem myszy na nazwę metody i wybrać „Zbadaj", a w znaczniku znaleźć atrybut data-gateway_id:

Po dodaniu kodu proszę sprawdzić checkout: z adresem płatności w USA PayPal znika, dla pozostałych krajów pozostaje.

2.3. Wyłączenie bramki na podstawie kwoty koszyka
Niektórzy operatorzy płatności pobierają stałą prowizję, która pochłania marżę przy małych zamówieniach. Powiedzmy, że przy kwocie do 200 $ chce Pan/Pani zostawić tylko przelew bankowy, a PayPal włączać dla większych rachunków:
1 add_filter( 'woocommerce_available_payment_gateways', 'quadlayers_disable_paypal_below_threshold' ); 2 function quadlayers_disable_paypal_below_threshold( $available_gateways ) { 3 $threshold = 200; 4 if ( WC()->cart->total < $threshold ) { 5 unset( $available_gateways['paypal'] ); 6 } 7 return $available_gateways; 8 }
Logika jest prosta: jeśli suma koszyka jest niższa niż $threshold, PayPal jest usuwany z listy. Wartość progu proszę zastąpić własną.

Sposób 3: Wtyczka Conditional Payments, wizualny konstruktor
Jeśli nie chcą Państwo zagłębiać się w functions.php, to samo zadanie rozwiązuje wtyczka Conditional Payments for WooCommerce. Stan na lipiec 2026: wersja 1.16.5, aktywne instalacje, zgodność z najnowszymi WordPress i WooCommerce. Ostatnia aktualizacja 11 lipca 2025.
Instalacja jest standardowa: Wtyczki → Dodaj nową, proszę wpisać „Conditional Payments for WooCommerce" w wyszukiwarkę, kliknąć Zainstaluj i Włącz.

Konfiguracja warunków
Po aktywacji w menu WooCommerce pojawia się pozycja Conditional Payment Methods. Proszę do niej wejść, upewnić się, że pole wyboru „Enable conditions" jest aktywne, i kliknąć Add condition.

Na stronie, która się otworzy, proszę określić cztery parametry:
- Title, nazwa warunku, na przykład „Brak PayPal dla drobnych zamówień".
- Action, proszę wybrać Disable the payment method(s).
- Payment methods, proszę zaznaczyć polami wyboru bramki, które mają zostać wyłączone (można kilka).
- Conditions, logika zadziałania. Na przykład: „Cart total < kwota progowa" → PayPal zostaje wyłączony.

Proszę kliknąć Publish, warunek działa od razu. Proszę sprawdzić checkout z kwotą poniżej i powyżej progu.
Darmowa wersja operuje warunkami: kwota koszyka, suma całkowita i suma całkowita bez podatków. Dostępne są operatory AND/OR, można zbudować regułę „wyłącz PayPal, jeśli kwota jest większa niż X ORAZ mniejsza niż Y".
Wersja premium dodaje filtrowanie według kraju, miasta, roli, kategorii produktu, waluty i kilkunastu innych parametrów. W praktyce jednak darmowa funkcjonalność wystarcza większości sklepów.

⁉️🤔 Często zadawane pytania
Jak wyłączyć metodę płatności dla wszystkich kupujących jednocześnie?
Proszę otworzyć WooCommerce → Ustawienia → Płatności i kliknąć przełącznik w kolumnie Włączone. Przełącznik stanie się szary, metoda zniknie z checkoutu dla wszystkich bez wyjątku. Dziesięć sekund, zero ryzyka.
Czy można ukryć bramkę tylko dla określonej kategorii towarów?
Darmowa wersja Conditional Payments tego nie potrafi. Wersja premium filtruje według kategorii, produktów i atrybutów. Alternatywa: kod na
woocommerce_available_payment_gatewaysze sprawdzeniemWC()->cart->get_cart()pod kątem obecności towarów z żądanej kategorii.
Czy wyłączenie bramki wpłynie na już złożone zamówienia?
Nie. Istniejące zamówienia nie są naruszane. Zmiana dotyczy wyłącznie przyszłych checkoutów, wszystkie poprzednie transakcje pozostają w historii bez zmian.
Co zrobić, jeśli wyłączona bramka mimo wszystko widnieje w checkoucie?
Proszę wyczyścić pamięć podręczną witryny i przeglądarki. Jeśli zainstalowano wtyczkę buforującą (WP Rocket, W3 Total Cache), proszę zresetować jej cache. Następnie proszę tymczasowo wyłączać pozostałe wtyczki pojedynczo i sprawdzać checkout, być może występuje konflikt.
Czy można przywrócić wyłączoną metodę z powrotem?
Tak, w każdej chwili. Sposób 1: ponownie kliknąć przełącznik w Płatnościach. Sposób 2: usunąć lub zakomentować dodany kod. Sposób 3: dezaktywować warunek w Conditional Payment Methods.
Czy konieczne jest utworzenie motywu potomnego przed edycją functions.php?
Zdecydowanie zalecane. Bez motywu potomnego zmiany przepadną podczas aktualizacji motywu nadrzędnego. Wtyczka Code Snippets to bezpieczna alternatywa: przechowuje kod w bazie danych i nie zależy od motywu.
Podsumowanie: co wybrać do swojego zadania
Trzy sposoby obsługują trzy różne scenariusze. Proszę wybrać odpowiedni do swojej sytuacji:
- Po prostu usunąć zbędną bramkę płatności dla wszystkich → Sposób 1, panel WooCommerce. Dziesięć sekund, zero ryzyka.
- Potrzebna logika: według kraju, kwoty, roli → Sposób 2 (kod) lub Sposób 3 (wtyczka). Kod jest darmowy i nie dodaje zależności. Wtyczka daje interfejs wizualny i zabezpiecza przed literówkami w
functions.php. - Testują Państwo stronę i trzeba tymczasowo ukryć płatność → jedna linijka
add_filter( 'woocommerce_cart_needs_payment', '__return_false' )z sekcji 2.1. Proszę nie zapomnieć usunąć jej po testach.
W praktyce radzimy zacząć od panelu WooCommerce w celu podstawowego oczyszczenia, a do logiki warunkowej zainstalować Conditional Payments. Darmowa wersja wystarcza w większości scenariuszy, a wizualny konstruktor eliminuje błąd ludzki w kodzie. Gdy warunków robi się więcej niż pięć, a sklep aktywnie rośnie, proszę przejść na kod: raz napisane w functions.php i można zapomnieć.


