MS-M

Delivery Table for Flexible Shipping

Generuje tabelę kosztów dostawy w sklepie WooCommerce prosto ze stref i reguł Flexible Shipping - shortcode albo blok Gutenberga, bez ręcznie utrzymywanej tabeli, która rozjeżdża się z koszykiem.

  • WooCommerce
  • Wysyłka
  • Gutenberg
Delivery Table for Flexible Shipping - reguły dostawy spływają z repozytorium i układają się w świecącą tabelę: wiersze metod dostawy i kolumny progów wartości zamówienia

Dla kogo jest ta wtyczka

Dla sklepów na WooCommerce, które liczą koszty dostawy wtyczką Flexible Shipping i chcą pokazać klientom czytelny cennik dostawy na stronie z informacjami o wysyłce albo w FAQ - bez przepisywania go ręcznie po każdej zmianie stawek. Dla agencji i freelancerów, którzy utrzymują takie sklepy i wolą jedno źródło prawdy dla cen dostawy zamiast dwóch miejsc do pilnowania.

Jaki problem rozwiązuje

Flexible Shipping wie, ile kosztuje każdy przewoźnik przy każdej wartości zamówienia, ale klient widzi to dopiero w koszyku. Dlatego sklepy dopisują cennik dostawy ręcznie na osobnej stronie, a ten cennik żyje własnym życiem: ktoś zmienia próg darmowej dostawy w regułach, tabela zostaje stara i klient widzi inną cenę niż w koszyku. To nie jest tylko kwestia porządku: koszty dostawy trzeba podać klientowi, zanim złoży zamówienie, a nieaktualna tabela może być uznana za informację wprowadzającą w błąd co do ceny. Wtyczka czyta strefy i reguły Flexible Shipping i buduje z nich tabelę: progi wartości zamówienia w kolumnach, metody dostawy w wierszach. Zmieniasz regułę w Flexible Shipping, tabela zmienia się sama przy następnym wczytaniu strony.

Co potrafi

  • Tabela ze stref i reguł Flexible Shipping: progi wartości zamówienia w kolumnach, metody dostawy w wierszach, nic nie jest konfigurowane dwa razy
  • Shortcode [dtfs_shipping_table] i blok Gutenberga Delivery Table - ta sama tabela z tego samego kodu, opcje w panelu bloku
  • Kolumny, które się zgadzają: granice to suma wszystkich zmian ceny i progów darmowej dostawy w pokazanych metodach, więc dwóch przewoźników o różnych progach daje jedną czytelną tabelę
  • Nagłówki stref w języku klienta: regiony tak, jak nazywa je WooCommerce (Niemcy zamiast nazwy strefy z panelu), kilka stref jednego kraju pod jednym nagłówkiem, kotwica do każdego regionu
  • Wycenia też metody wbudowane w WooCommerce: stawkę stałą, odbiór osobisty i darmową dostawę, a reguły Flexible Shipping przejmują je tam, gdzie są włączone
  • Uczciwa wobec tego, czego nie da się policzyć: metoda liczona od wagi lub liczby sztuk dostaje kreskę z wyjaśnieniem, a cena zależna dodatkowo od wagi albo kuponu gwiazdkę zamiast udawania ceny ostatecznej
  • Podatek jak w sklepie: domyślnie zgodnie z ustawieniem wyświetlania cen w koszyku WooCommerce, z możliwością wymuszenia brutto lub netto per tabela; poprawne zaokrąglenia także w walutach bez groszy
  • Opcjonalny podział na przedpłatę i pobranie po frazie w nazwie metody, szablony tabeli do nadpisania w motywie jak w WooCommerce, funkcja PHP i kontener usług dla programistów

Zobacz, jak działa

Instalacja i pierwsza tabela

  1. Zainstaluj i włącz WooCommerce oraz Flexible Shipping (WP Desk), jeśli jeszcze ich nie masz. Wtyczka czyta ich konfigurację i bez nich nie ma z czego zbudować tabeli.
  2. Pobierz ZIP najnowszego wydania z GitHuba i zainstaluj go w panelu: Wtyczki, Dodaj nową, Wyślij wtyczkę na serwer.
  3. Na stronie z informacjami o dostawie wstaw shortcode [dtfs_shipping_table] albo dodaj blok Delivery Table w edytorze. Bez atrybutów dostaniesz jedną tabelę na każdą strefę.
  4. Doprecyzuj w razie potrzeby: jedna strefa (zone), nagłówki stref (zone_headings), podatek brutto lub netto (tax), podział na przedpłatę i pobranie (cod_prefix). Pełna lista atrybutów z przykładami siedzi w panelu: WooCommerce, Delivery Table.
  5. Od teraz stawki zmieniasz tylko w Flexible Shipping. Tabela na stronie aktualizuje się sama, a jeśli chcesz zmienić jej wygląd, skopiuj szablon z katalogu templates do swojego motywu.
# Najnowsze wydanie (ZIP):
https://github.com/msiemieniukmorawski/delivery-table-for-flexible-shipping/releases/latest/download/delivery-table-for-flexible-shipping.zip

# Shortcode - wszystkie strefy, podatek jak w koszyku:
[dtfs_shipping_table]

# Jedna strefa, bez nagłówka, osobna tabela dla pobrania:
[dtfs_shipping_table zone="Polska" zone_headings="hide" cod_prefix="Pobranie"]

# W szablonie motywu:
dtfs_shipping_table( [ 'zone' => 'Polska' ] );

Bezpośredni adres ZIP-a najnowszego wydania (stały, nie zmienia się z wersją), shortcode z najczęściej używanymi atrybutami i wywołanie z szablonu motywu. Wtyczka celowo nie ma własnego ekranu ustawień - wszystkim sterują atrybuty shortcode'a albo opcje bloku.

Wymagania i licencja

WordPress
6.2+
PHP
8.1+
WooCommerce
7.0+
Licencja
GPL-2.0

Dlaczego powstała

Wtyczka powstała przy sklepie na WooCommerce, który miał około dziesięciu stref dostawy, każdą w kilku wariantach: różni przewoźnicy, progi darmowej dostawy, pobranie. Cennik dostawy na stronie sklepu nie jest tam ozdobą, tylko obowiązkiem: przed złożeniem zamówienia klient musi w jasny i zrozumiały sposób poznać koszty dostawy (dyrektywa 2011/83/UE w sprawie praw konsumentów, art. 6 ust. 1 lit. e; w Polsce ustawa o prawach konsumenta, art. 12 ust. 1 pkt 5). Sklep, który tego nie dopilnuje, nie może tych kosztów od konsumenta żądać (art. 6 ust. 6 dyrektywy, art. 23 ustawy), a nieaktualna tabela może być dodatkowo uznana za informację wprowadzającą w błąd co do ceny.

Do tej pory ktoś przepisywał te dane ręcznie: ze stref i reguł Flexible Shipping do tabeli w edytorze strony. Przy dziesięciu strefach i kilkudziesięciu regułach każda zmiana stawki albo progu oznaczała ponowne przejrzenie całej tabeli, a jedna pomyłka w komórce to cena inna niż w koszyku i klient, który pyta o rozbieżność albo rezygnuje.

Wtyczka zdejmuje ten krok z ludzi: czyta to, co już jest w Flexible Shipping, i buduje z tego tabelę, więc nie ma czego przepisać źle. Stąd też brak własnego ekranu ustawień (drugie miejsce do konfiguracji cen to dokładnie problem, który miała rozwiązać) oraz uczciwe kreski i gwiazdki tam, gdzie ceny nie da się podać dla samej wartości zamówienia. Na początku w tym samym kodzie siedział jeszcze pasek postępu do darmowej dostawy i uproszczony wiersz dostawy w koszyku; zostały wydzielone, żeby wtyczka robiła jedną rzecz, a kod trafił na GitHuba, bo ten sam obowiązek i ten sam problem ma każdy sklep z Flexible Shipping.

Prowadzisz sklep na Flexible Shipping i chcesz mieć porządną stronę dostawy?

Konfiguruję strefy i reguły Flexible Shipping, wdrażam tabelę dostawy i dopasowuję ją do motywu, a przy okazji porządkuję cały proces zamówienia w WooCommerce. Także dla sklepów, które dopiero wybierają wtyczkę do wysyłki.

Chcesz zacząć projekt?

Porozmawiajmy

Napisz do mnie

Administratorem danych jest Marcin Siemieniuk-Morawski. Dane z formularza służą wyłącznie do odpowiedzi na Twoją wiadomość. Szczegóły w polityce prywatności.

Możesz też napisać bezpośrednio na: kontakt@ms-m.pl