- Krzysztof Jagodziński
- Kategoria: WooCommerce
Minimalna kwota zamówienia dla wysyłki WooCommerce – ukrycie wysyłki poniżej ustalonej wartości zamówienia

Na platformie WooCommerce często spotyka się sytuację, w której chcemy ograniczyć widoczność lub dostępność wybranych metod dostawy, jeśli wartość zamówienia nie przekracza ustalonego progu. Przykładowo – darmowa dostawa wyłącznie od 100 zł lub wyłączenie kosztownej wysyłki ponadgabarytowej dla małych zamówień. WooCommerce domyślnie nie oferuje takiej opcji w panelu – potrzebny jest kod PHP, który automatycznie ukryje wybraną metodę dostawy, jeśli klient nie osiągnął żądanego minimum w zamówieniu.
Przedstawiony poniżej kod realizuje taką funkcjonalność: sprawdza wartość koszyka (uwzględniając ustawienia podatku VAT w sklepie, więc działa poprawnie zarówno dla cen brutto, jak i netto), a następnie decyduje, czy wybrana metoda dostawy ma być wyświetlona klientowi na stronie koszyka i w procesie zamawiania.
Kod został przetestowany i działa poprawnie na WooCommerce 9.X oraz PHP 8.3 w 2025 roku.
1. Jak i kiedy działa wysyłka od minimalnej kwoty zamówienia WooCommerce?
Kod ograniczający dostępność wybranych metod wysyłki w WooCommerce działa w pełni automatycznie i natychmiast reaguje na zmiany w koszyku klienta. Dzięki temu masz pełną kontrolę nad tym, kiedy określone opcje dostawy pojawiają się podczas zakupów. Rozwiązanie to eliminuje ręczne sprawdzanie warunków wysyłki i minimalizuje ryzyko błędów po stronie klienta.
- Kod uruchamia się automatycznie przy każdej zmianie w koszyku (dodawanie/usuwanie produktów) oraz podczas przechodzenia do płatności.
- Sprawdza aktualną wartość koszyka (z podatkiem lub bez, zgodnie z ustawieniami sklepu).
- Porównuje sumę zamówienia z ustaloną przez Ciebie minimalną kwotą dla danej metody wysyłki.
- Jeśli wartość jest niższa niż próg – wybrana metoda dostawy zostaje ukryta na liście wysyłek.
- Jeśli wartość przekroczy próg – metoda natychmiast pojawia się jako dostępna opcja.
- Wszystko odbywa się dynamicznie, bez ręcznego odświeżania i dodatkowych działań klienta.
Dzięki temu klient zawsze widzi tylko te metody wysyłki, które rzeczywiście mu przysługują dla aktualnej wartości zamówienia.
2. Jakie są przykłady zastosowań kodu na wysyłkę od minimalnej wartości koszyka?
Rozwiązanie jest bardzo uniwersalne i sprawdzi się w wielu scenariuszach, takich jak:
Ukrycie darmowej wysyłki do czasu przekroczenia minimalnej kwoty – np. darmowa dostawa tylko od 100 zł, poniżej tej wartości klient nie zobaczy tej opcji.
Ukrycie wysyłki ponadgabarytowej lub kurierskiej, jeśli zamówienie jest zbyt niskie – chroni Twój sklep przed zbyt wysokimi kosztami przy tanich zamówieniach.
Dowolna metoda dostawy tylko od wybranej kwoty – np. Paczkomaty od 50 zł, kurier za pobraniem od 150 zł, itd.
Dostosowanie kosztów logistyki do wielkości zamówienia – elastyczność w ustawianiu dostępnych metod wysyłki w zależności od wartości koszyka.
3. Jak wdrożyć i zmodyfikować kod na ukrycie dostawy poniżej minimalnej wartości zamówienia?
Aby wdrożyć filtr ukrywający metodę dostawy przy zbyt niskim zamówieniu, nie musisz instalować żadnych wtyczek. Wystarczy motyw potomny. Jeśli jeszcze nie masz child theme albo nie wiesz jak go utworzyć, sprawdź przygotowany przeze mnie poradnik o motywie potomnym lub napisz – chętnie pomogę.
1. Dodanie kodu do pliku functions.php w motywie potomnym
- Aby dodać kod, przejdź w WordPressie do zakładki Wygląd > Edytor motywu. Upewnij się, że aktualnie używasz motywu potomnego, a następnie otwórz plik functions.php. Na końcu pliku wklej kod i zapisz zmiany.
2. Wskazanie wysyłki do ukrycia i ustawienie minimalnej kwoty
NAZWA_METODY_DOSTAWY_1
Wpisz tutaj pełną nazwę metody wysyłki dokładnie tak, jak widzi ją klient na Twoim sklepie (np. „Darmowa dostawa”, „Kurier DPD”, „Paczkomaty InPost” itd.).MINIMALNA_WARTOSC_ZAMOWIENIA_2
Podaj minimalną kwotę zamówienia, od której dana metoda wysyłki stanie się dostępna (np. 100 oznacza, że metoda pojawi się dopiero od 100 zł).
3. Przetestuj działanie i upewnij się czy nie występują błędy
- Po zapisaniu zmian przejdź do koszyka i rozpocznij proces składania zamówienia. Dodawaj i usuwaj produkty, aby sprawdzić, czy wybrana metoda dostawy pojawia się lub znika zgodnie z ustawioną minimalną kwotą zamówienia. Upewnij się, że metoda wysyłki jest dostępna tylko wtedy, gdy wartość koszyka przekroczy wybrany próg i znika poniżej tej kwoty. Wszystko powinno działać dynamicznie – metoda dostawy będzie aktualizowana automatycznie w zależności od wartości koszyka.
4. Masz pytanie lub problem?
- Jeśli coś nie działa prawidłowo lub masz wątpliwości, skontaktuj się ze mną przez formularz kontaktowy.
/**
* Autor: Greatsite.pl
* Funkcjonalność: Włączanie metody dostawy po przekroczeniu określonej wartości zamówienia.
* Testowane z : WooCommerce 9.x.x oraz PHP 8.3 w 2025 roku.
*/
define('NAZWA_METODY_DOSTAWY_1', 'Kurier za pobraniem'); // Zmień na wysyłkę którą chcesz ukryć
define('MINIMALNA_WARTOSC_ZAMOWIENIA_2', 100); // Ustaw wartość poniżej której wysyłka nie będzie wyświetlana
function gr8_wlacz_metode_dostawy_po_przekroczeniu_wartosci($rates, $package) {
$cart_total = wc_prices_include_tax() ?
WC()->cart->get_subtotal() + WC()->cart->get_subtotal_tax() :
WC()->cart->get_subtotal();
if ($cart_total < MINIMALNA_WARTOSC_ZAMOWIENIA_2) {
foreach ($rates as $rate_id => $rate) {
if ($rate->get_label() === NAZWA_METODY_DOSTAWY_1) {
unset($rates[$rate_id]);
}
}
}
return $rates;
}
function gr8_odswiez_metody_dostawy() {
WC()->session->set('shipping_for_package_0', false);
}
add_filter('woocommerce_package_rates', 'gr8_wlacz_metode_dostawy_po_przekroczeniu_wartosci', 10, 2);
add_action('woocommerce_cart_calculate_fees', 'gr8_odswiez_metody_dostawy');
4. Podsumowanie
Dzięki powyższemu rozwiązaniu masz pełną kontrolę nad tym, od jakiej kwoty zamówienia dana metoda dostawy będzie widoczna w WooCommerce. Możesz zautomatyzować ukrywanie wysyłki przy niskich kwotach, ustawiać minimalną kwotę zamówienia dla wysyłki kurierskiej, pobraniowej, darmowej oraz dowolnej innej metody. Kod bierze pod uwagę ustawienia podatku VAT, więc działa poprawnie zarówno wtedy, gdy ceny są brutto, jak i netto. Rozwiązanie jest uniwersalne i pozwala na zwiększenie średniej wartości zamówienia oraz optymalizację kosztów wysyłki w sklepie.
Pamiętaj:
Przed wprowadzeniem kodu, zalecam zrobić kopię zapasową pliku functions.php oraz upewnić się, że korzystasz z motywu potomnego – dzięki temu unikniesz utraty zmian po aktualizacji motywu głównego.