Przejdź do głównej zawartości

Czas dostawy

Polskie prawo wymaga, by sklep informował o czasie dostawy przed złożeniem zamówienia. Wtyczka Polski for WooCommerce pozwala ustawić czas dostawy globalnie, per produkt i per wariant.

Podaj czas dostawy zanim klient kliknie przycisk zamówienia. Informacja powinna być:

  • jasna i zrozumiała
  • podana w dniach roboczych lub kalendarzowych
  • widoczna na stronie produktu

Brak tej informacji grozi karami od UOKiK.

Wtyczka tworzy taksonomię polski_delivery_time, w której definiujesz czasy dostawy i przypisujesz je do produktów.

Przejdź do Produkty > Czas dostawy, aby zarządzać dostępnymi terminami.

Przykładowe terminy:

Nazwa Slug Opis
1-2 dni robocze 1-2-dni-robocze Produkty na magazynie
3-5 dni roboczych 3-5-dni-roboczych Produkty zamawiane u dostawcy
7-14 dni roboczych 7-14-dni-roboczych Produkty na zamówienie
Do 24 godzin do-24-godzin Produkty cyfrowe / ekspres
Dostępny od ręki dostepny-od-reki Natychmiastowa realizacja

Terminy dostawy to taksonomia WordPress - tworzysz, edytujesz i usuwasz je w panelu admina.

Przejdź do Polski > Ustawienia > Podatki i ceny i skonfiguruj sekcję “Czas dostawy”.

Ustawienie Opis
Włącz czas dostawy Aktywuje wyświetlanie na stronie produktu
Domyślny czas dostawy Wartość zapasowa (fallback) dla produktów bez przypisanego terminu
Pokaż na listingu Wyświetla czas dostawy na stronach kategorii
Pokaż w koszyku Wyświetla czas dostawy w koszyku
Etykieta Tekst przed czasem dostawy (domyślnie: “Czas dostawy:”)

Domyślny czas dostawy (fallback) pojawia się, gdy produkt nie ma własnego terminu. Dzięki temu nie musisz edytować każdego produktu osobno.

Hierarchia wyświetlania:

  1. Czas dostawy wariantu (jeśli ustawiony)
  2. Czas dostawy produktu głównego (jeśli ustawiony)
  3. Domyślny czas dostawy z ustawień globalnych (fallback)

Jeśli nic nie jest ustawione, czas dostawy nie pojawi się.

W edytorze produktu otwórz zakładkę “Wysyłka”. W polu Czas dostawy wybierz termin z listy lub dodaj nowy.

Każdy wariant może mieć własny czas dostawy. Rozwiń sekcję wariantu i ustaw termin. Warianty bez terminu dziedziczą wartość z produktu głównego.

Użyj shortcode [polski_delivery_time], aby wyświetlić czas dostawy w dowolnym miejscu.

Parametr Typ Domyślny Opis
product_id int bieżący ID produktu
label string "Czas dostawy: " Etykieta przed wartością
show_label bool true Czy wyświetlać etykietę
wrapper string span Element HTML opakowujący
fallback string "" Tekst, gdy brak czasu dostawy

Podstawowe użycie:

[polski_delivery_time]

Wynik: Czas dostawy: 1-2 dni robocze

Bez etykiety:

[polski_delivery_time show_label="false"]

Wynik: 1-2 dni robocze

Z niestandardową etykietą i fallbackiem:

[polski_delivery_time label="Wysyłka: " fallback="Zapytaj o dostępność"]

Dla konkretnego produktu:

[polski_delivery_time product_id="456"]

W szablonie PHP:

echo do_shortcode('[polski_delivery_time product_id="' . $product->get_id() . '"]');
wp_set_object_terms($product_id, '1-2-dni-robocze', 'polski_delivery_time');
$terms = wp_get_object_terms($product_id, 'polski_delivery_time');
if (!empty($terms) && !is_wp_error($terms)) {
$delivery_time = $terms[0]->name;
}
wp_insert_term(
'2-3 dni robocze',
'polski_delivery_time',
[
'slug' => '2-3-dni-robocze',
'description' => 'Standardowy czas realizacji',
]
);

Do importu czasu dostawy przez CSV użyj kolumny:

Kolumna CSV Opis Wartość
polski_delivery_time Nazwa terminu dostawy 1-2 dni robocze

Jeśli termin o podanej nazwie nie istnieje, zostanie automatycznie utworzony podczas importu.

Przykład:

"Laptop Dell XPS 15",5499.00,"3-5 dni roboczych"
"Mysz Logitech MX",299.00,"1-2 dni robocze"

Możesz programistycznie zmieniać czas dostawy na podstawie stanu magazynowego lub daty zamówienia.

add_filter('polski/delivery_time/display', function (string $delivery_time, WC_Product $product): string {
if ($product->get_stock_quantity() > 0) {
return '1-2 dni robocze';
}
return '7-14 dni roboczych';
}, 10, 2);
.polski-delivery-time {
display: inline-block;
margin-top: 0.5em;
font-size: 0.9em;
color: #2e7d32;
}
.polski-delivery-time__label {
font-weight: 600;
}
.polski-delivery-time__value {
color: #333;
}
  1. Sprawdź, czy moduł jest włączony w ustawieniach
  2. Upewnij się, że produkt ma przypisany termin lub ustawiony jest domyślny fallback
  3. Zweryfikuj, czy motyw obsługuje hook woocommerce_single_product_summary

Sprawdź, czy JavaScript wtyczki jest załadowany. Otwórz konsolę przeglądarki i szukaj błędów JS. Wtyczka aktualizuje czas dostawy wariantu przez AJAX.

Ta strona ma wyłącznie charakter informacyjny i nie stanowi porady prawnej. Przed wdrożeniem skonsultuj się z prawnikiem. Polski for WooCommerce jest oprogramowaniem open source (GPLv2) dostarczanym bez gwarancji.