Opis
Polski for WooCommerce to darmowa wtyczka WooCommerce dla polskich sklepów. Pomaga w zakresie informacji o bezpieczeństwie produktów GPSR, historii najniższej ceny z 30 dni Omnibus, zgody GDPR, formularzy odstąpienia, cen jednostkowych, integracji fakturowania gotowych na KSeF, raportowania DSA oraz modułów sklepu.
Stworzona z myślą o polskich sklepach internetowych, firmach dropshippingowych i agencjach, gromadzi najczęstsze polskie i unijne wymogi w jednym miejscu i pozwala włączać oraz wyłączać poszczególne moduły wedle potrzeb.
Ta wtyczka pomaga skonfigurować procesy sklepowe związane z praktykami polskiego i unijnego rynku. Nie stanowi porady prawnej ani nie gwarantuje zgodności. Zawsze weryfikuj swoją konfigurację pod kątem własnej działalności, produktów i obowiązków.
Dokumentacja i przydatne odnośniki
- Dokumentacja – https://polski.wppoland.com/
- Strona wtyczki (polski) – https://wppoland.com/pl/polski/
- Strona wtyczki (angielski) – https://wppoland.com/en/polski/
- Kod źródłowy (GitHub) – https://github.com/wppoland/polski
- Zgłoś problemy lub zaproponuj funkcje – https://github.com/wppoland/polski/issues
- Omawiaj pomysły i pytania – https://github.com/wppoland/polski/discussions
Dlaczego Polski for WooCommerce?
- Szeroki zestaw modułów – pola produktowe związane z GPSR, historia cen Omnibus, checkboxy zgód, wnioski o odstąpienie od umowy, dane produktów oraz moduły sklepowe w jednej wtyczce
- Stworzona dla polskich sklepów – skupiona na konfiguracjach WooCommerce sprzedających w Polsce
- Darmowa i otwartoźródłowa – podstawowe narzędzia produktowe, zamówienia oraz sklepowe w zestawie
- Nowoczesny kod – PHP 8.1+, panel administracyjny w React, REST API, obsługa WP-CLI
- Gotowość pod bloki – pełna zgodność z blokowym zamówieniem i koszykiem WooCommerce
- Zgodność z HPOS – działa z wysokowydajnym przechowywaniem zamówień WooCommerce
Ostatnio dodane narzędzia
- Monitor kondycji sklepu – pasywne monitorowanie w tle błędów krytycznych na froncie, współczynnika nieudanych zamówień oraz anomalii sprzedaży, z alertami e-mail i webhook oraz panelem statusu
- Pola produktowe związane z GPSR – producent, importer, osoba odpowiedzialna w UE, identyfikatory produktów, ostrzeżenia dotyczące bezpieczeństwa oraz instrukcje, z masowym importem lub eksportem CSV
- Proces wniosku o odstąpienie od umowy – akcja odstąpienia w Moim koncie ze stroną potwierdzenia, rejestrowaniem wniosków, potwierdzeniem e-mail oraz rejestrem audytu
- Narzędzia zgłoszeń DSA – ustawienia punktu kontaktowego, formularz zgłaszania nielegalnych treści przez shortcode [polski_dsa_report], strona zarządzania zgłoszeniami w panelu oraz powiadomienia e-mail
- Haki integracyjne KSeF – oznaczanie zamówień na podstawie NIP, haki akcji do integracji z wtyczkami fakturującymi oraz kolumna statusu na liście zamówień
- Incydenty bezpieczeństwa – rejestr incydentów dla podatności, naruszeń, nieudanych płatności, awarii podmiotów zewnętrznych oraz wewnętrznych działań następczych, z eksportem CSV
- Pola zrównoważonego rozwoju produktu – pola podstawy deklaracji ekologicznej, odnośnika do certyfikatu oraz daty ważności
- Oznaczenie zweryfikowanego zakupu – zielone oznaczenie przy opiniach produktów od klientów, którzy faktycznie kupili dany produkt
Zamówienie i zgody
- Checkboxy zgód – konfigurowalne checkboxy zgód w zamówieniu, przy rejestracji oraz przy opiniach, wraz z pełnym rejestrem audytu
- Historia cen Omnibus – automatyczne wyświetlanie najniższej ceny z 30 dni dla produktów w promocji
- Prawo odstąpienia od umowy – proces odstąpienia od umowy i wniosku o zwrot wraz z potwierdzeniami e-mail
- Podwójne potwierdzenie (double opt-in) – weryfikacja e-mail przy rejestracji klienta (dobra praktyka RODO)
- Strony sklepu – dołączaj regulamin, politykę prywatności oraz treści o odstąpieniu od umowy do wiadomości e-mail WooCommerce
- Rozwiązywanie sporów – informacja o platformie ODR na Twojej stronie z danymi sklepu/regulaminem
- Rejestr audytu zgód – rejestrowanie zgód klientów wraz ze znacznikami czasu, adresem IP oraz kontekstem
Prezentacja produktu (Shopmarks)
- Ceny jednostkowe – wyświetlaj cenę za kg, litr, metr lub dowolną niestandardową jednostkę
- Czasy dostawy – pokazuj szacowane czasy dostawy na stronach produktów i listach
- Komunikaty podatkowe – wyświetlaj informacje o cenie brutto/netto oraz stawce VAT
- Wyświetlanie cen – dostosuj sposób prezentacji cen w całym sklepie
Funkcje sklepowe
- Lista życzeń – zapisuj ulubione produkty na później
- Porównywarka produktów – porównywanie produktów obok siebie
- Lista oczekujących – powiadomienia e-mail o powrocie produktu na stan
- Szybki podgląd – podgląd produktu w lightboxie z poziomu list
- Powiększanie galerii – ulepszone powiększanie zdjęć produktów
- Wyróżniony film – wyświetlaj filmy produktów na stronie produktu
- Slider produktów – karuzela do prezentacji kolekcji produktów
- Nieskończone przewijanie – automatyczne wczytywanie kolejnych produktów na stronach archiwów
- Menedżer zakładek produktu – dostosuj zakładki na stronie produktu
- Filtry produktów AJAX – dynamiczne filtrowanie produktów bez przeładowania strony
- Wyszukiwarka AJAX – wyszukiwanie produktów na żywo
- Oznaczenia produktów – promocja, nowość, wyróżnione oraz niestandardowe oznaczenia
- Wyskakujące okna promocyjne – ukierunkowane kampanie pop-up
Żywność i artykuły spożywcze
- Informacje o produktach żywnościowych – składniki, wartości odżywcze oraz deklaracje alergenów
- Opcjonalne pola etykiet żywności – skonfiguruj wyświetlanie pochodzenia, dystrybutora, alkoholu oraz wartości odżywczych tam, gdzie jest to potrzebne
Narzędzia administracyjne i deweloperskie
- Nowoczesny panel administracyjny w React – zarządzanie modułami z osobnymi stronami ustawień dla każdego modułu
- REST API – pełne API dla ustawień, checkboxów, stron prawnych, odstąpień od umowy oraz wyszukiwania
- Polecenia WP-CLI – zarządzaj wtyczką Polski z wiersza poleceń
- Import/eksport CSV – masowe zarządzanie danymi produktów, w tym polami GPSR oraz deklaracji ekologicznych
- Shortcode’y – osadzaj komunikaty, formularze odstąpienia od umowy, informacje GPSR, formularz zgłoszeń DSA i więcej
- Migracje bazy danych – bezpieczne, wersjonowane aktualizacje schematu
- Haki integracyjne – haki akcji KSeF, filtry oraz zgodność z popularnymi wtyczkami
- Rozszerzony zakres audytu – obejmuje rejestr DPA, DSA, gotowość pod KSeF, przeciwdziałanie greenwashingowi, zweryfikowane opinie oraz obsługę incydentów bezpieczeństwa
- Rejestrowanie incydentów – zapisuj incydenty bezpieczeństwa po stronie sklepu i eksportuj je na potrzeby wewnętrznych przeglądów
Pierwsze kroki
Wykonaj poniższe kroki, aby skonfigurować wtyczkę dla polskiego sklepu. Zawsze konsultuj się z wykwalifikowanym prawnikiem w swojej konkretnej sytuacji:
- Zweryfikuj strony prawne: przejdź do Polski > Moduły i upewnij się, że Strony prawne są aktywne. Przejdź do ich ustawień i wybierz swoje strony regulaminu, polityki prywatności oraz odstąpienia od umowy.
- Skonfiguruj checkboxy: przejdź do Polski > Moduły > Checkboxy prawne (upewnij się, że są aktywne) i włącz wymagane checkboxy w zamówieniu (regulamin, prywatność, odstąpienie od umowy).
- Ustaw stawki VAT: upewnij się, że masz skonfigurowane prawidłowe polskie stawki VAT (23%, 8%, 5%, 0%) w WooCommerce > Ustawienia > Podatek.
- Ceny jednostkowe: dla produktów sprzedawanych na wagę lub objętość wprowadź dane cen jednostkowych w zakładce Polski w edytorze produktu.
- Omnibus: wtyczka śledzi najniższą cenę z ostatnich 30 dni od momentu, gdy produkt trafi do promocji. Sprawdź wynik i dostosuj sposób wyświetlania w Polski > Moduły > Omnibus.
- GPSR: jeśli sprzedajesz towary fizyczne, uzupełnij dane producenta i osoby odpowiedzialnej w zakładce Polski swoich produktów i sprawdź, które informacje powinny pojawić się na stronie produktu.
Konfiguracja
Wtyczka ma budowę modułową. Możesz włączać i wyłączać funkcje w zależności od swoich potrzeb:
- Informacje o produkcie: pola GPSR, ceny jednostkowe, czasy dostawy oraz dane żywności.
- Zamówienie i zgody: checkboxy zgód, procesy odstąpienia od umowy oraz narzędzia do stron prawnych.
- Sklep: lista życzeń, porównywarka, wyszukiwarka, filtry i oznaczenia.
Każdy aktywny moduł z opcjami konfiguracji pojawi się jako podmenu w sekcji Polski lub będzie miał odnośnik „Ustawienia” na stronie Moduły.
Usługi zewnętrzne
API GUS REGON (Główny Urząd Statystyczny)
Gdy moduł wyszukiwania NIP jest włączony, ta wtyczka łączy się z publicznym rejestrem GUS REGON, aby pobrać dane firmy na podstawie numeru NIP wprowadzonego przez użytkownika. Połączenie to jest nawiązywane wyłącznie wtedy, gdy użytkownik jawnie uruchomi wyszukiwanie.
- Wysyłane dane: numer NIP
- Adres usługi: https://wyszukiwarkaregon.stat.gov.pl/
- Warunki korzystania z usługi: https://api.stat.gov.pl/Home/RegulaminBIR
- Polityka prywatności usługi: https://bip.stat.gov.pl/
Google OAuth
Gdy moduł logowania społecznościowego jest włączony i skonfigurowano logowanie przez Google, klienci, którzy klikną Kontynuuj z Google, są przekierowywani do Google w celu uwierzytelnienia. Wtyczka wymienia kod autoryzacyjny na token dostępu i pobiera dane profilu, aby klient mógł się zalogować lub utworzyć konto.
- Wysyłane dane: identyfikator URI przekierowania, identyfikator klienta, kod autoryzacyjny oraz token dostępu do pobrania profilu
- Otrzymywane dane: identyfikator konta Google, adres e-mail, imię i nazwisko, imię oraz nazwisko
- Adres usługi: https://accounts.google.com/
- Warunki korzystania z usługi: https://policies.google.com/terms
- Polityka prywatności usługi: https://policies.google.com/privacy
Facebook OAuth
Gdy moduł logowania społecznościowego jest włączony i skonfigurowano logowanie przez Facebook, klienci, którzy klikną Kontynuuj z Facebook, są przekierowywani do Facebooka w celu uwierzytelnienia. Wtyczka wymienia kod autoryzacyjny na token dostępu i pobiera dane profilu, aby klient mógł się zalogować lub utworzyć konto.
- Wysyłane dane: identyfikator URI przekierowania, identyfikator aplikacji, kod autoryzacyjny oraz token dostępu do pobrania profilu
- Otrzymywane dane: identyfikator konta Facebook, adres e-mail, imię i nazwisko, imię oraz nazwisko
- Adres usługi: https://www.facebook.com/
- Warunki korzystania z usługi: https://www.facebook.com/legal/terms
- Polityka prywatności usługi: https://www.facebook.com/privacy/policy/
Google Tag Manager / Google Analytics
Gdy moduł DataLayer jest włączony i skonfigurowano identyfikator kontenera GTM lub identyfikator pomiaru GA4, wtyczka ładuje skrypty Google Tag Manager lub Google Analytics na stronie sklepu i przesyła zdarzenia e-commerce na podstawie aktywności odwiedzających.
- Wysyłane dane: odsłony stron oraz dane zdarzeń e-commerce, takie jak identyfikatory produktów, nazwy produktów, ceny, akcje w koszyku, zdarzenia w zamówieniu i sumy zamówień, w zależności od Twojej konfiguracji
- Adres usługi: https://www.googletagmanager.com/
- Warunki korzystania z usługi: https://policies.google.com/terms
- Polityka prywatności usługi: https://policies.google.com/privacy
Opinie z panelu administracyjnego oraz opinie przy dezaktywacji są zapisywane lokalnie w WordPressie i nie są wysyłane do usługi zewnętrznej.
Zastrzeżenie
WTYCZKA JEST DOSTARCZANA „W STANIE, W JAKIM JEST”, BEZ JAKICHKOLWIEK GWARANCJI, WYRAŹNYCH LUB DOROZUMIANYCH, W TYM MIĘDZY INNYMI GWARANCJI PRZYDATNOŚCI HANDLOWEJ, PRZYDATNOŚCI DO OKREŚLONEGO CELU ORAZ NIENARUSZANIA PRAW.
WPPoland (wppoland.com) nie ponosi odpowiedzialności za jakiekolwiek szkody bezpośrednie, pośrednie, przypadkowe, szczególne, wynikowe ani moralne, w tym między innymi za szkody z tytułu utraty zysków, renomy, danych lub innych wartości niematerialnych, wynikające z korzystania lub niemożności korzystania z tej wtyczki.
Ta wtyczka udostępnia narzędzia techniczne i szablony dla sklepów WooCommerce. Nie stanowi porady prawnej i nie gwarantuje zgodności. Przed użyciem w środowisku produkcyjnym sprawdź wszystkie wygenerowane teksty i ustawienia. Zawsze testuj w środowisku deweloperskim lub testowym przed wdrożeniem na działającym sklepie.
WPPoland nie ponosi żadnej odpowiedzialności za jakiekolwiek konsekwencje prawne, finansowe, regulacyjne ani inne wynikające z korzystania z tej wtyczki. Instalując i aktywując tę wtyczkę, przyjmujesz do wiadomości, że robisz to wyłącznie na własne ryzyko.
Bloki
Wtyczka dodaje 4 bloki.
- Polski Product Slider Dynamic merchandising slider for related, upsell, sale, and featured products.
- Polski AJAX Filters Dynamic WooCommerce product filters with archive-safe GET fallback.
- Polski AJAX Search Dynamic AJAX product search form for WooCommerce storefronts.
- Legal Checkboxes Checkout consent and acknowledgement checkboxes for WooCommerce stores in Poland.
Instalacja
Instalacja automatyczna
- Przejdź do Wtyczki > Dodaj nową w panelu administracyjnym WordPressa.
- Wyszukaj Polski for WooCommerce.
- Kliknij Zainstaluj teraz, a następnie Włącz.
- Przejdź do nowej pozycji menu Polski na pasku bocznym.
Instalacja ręczna
- Pobierz plik ZIP wtyczki z repozytorium WordPress.org.
- W panelu administracyjnym WordPressa przejdź do Wtyczki > Dodaj nową > Wyślij wtyczkę na serwer.
- Wybierz plik ZIP i kliknij Zainstaluj teraz.
- Kliknij Włącz wtyczkę.
Najczęściej zadawane pytania
-
Czy Polski for WooCommerce jest darmowy?
-
Tak. Polski for WooCommerce jest darmowy i otwartoźródłowy na licencji GPLv2 lub nowszej.
-
Czy Polski obsługuje GPSR dla produktów WooCommerce?
-
Tak. Polski zawiera 8 dedykowanych pól produktowych na dane związane z GPSR, masowy import lub eksport CSV, kolumnę statusu na liście produktów oraz narzędzia do prezentacji na stronie produktu. Powinieneś samodzielnie zweryfikować, które pola i sposób prezentacji są odpowiednie dla Twoich produktów i obowiązków.
-
Czy obsługuje formularze odstąpienia od umowy dla zamówień WooCommerce?
-
Tak. Polski dodaje akcję odstąpienia od umowy bezpośrednio w Moje konto > Zamówienia dla kwalifikujących się zamówień. Klient otwiera stronę potwierdzenia, składa wniosek, a następnie otrzymuje potwierdzenie, a wniosek jest zapisywany w rejestrze audytu.
-
Czy Polski jest gotowy na procesy KSeF w WooCommerce?
-
Polski może oznaczać zamówienia, które mogą wymagać fakturowania w KSeF, na podstawie numeru NIP w danych rozliczeniowych, oraz udostępnia haki akcji (
polski/ksef/invoice_ready,polski/ksef/is_required) do integracji z wtyczkami fakturującymi. Na liście zamówień pojawia się kolumna ze statusem KSeF. -
Czy Polski obsługuje procesy zgody GDPR dla polskich sklepów WooCommerce?
-
Tak. Polski zawiera konfigurowalne checkboxy zgód, rejestrowanie zgód, rejestrację z podwójnym potwierdzeniem (double opt-in) oraz powiązane narzędzia do obsługi danych, które mogą wspierać procesy zgodne z RODO. Sprawdź konfigurację pod kątem własnego sklepu i obowiązków.
-
Czy obsługuje historię cen Omnibus dla produktów przecenionych w WooCommerce?
-
Tak. Polski śledzi i wyświetla najniższą cenę z ostatnich 30 dni dla produktów w promocji. Sprawdź wynik i proces ustalania cen we własnym sklepie, zanim zaczniesz polegać na nim w środowisku produkcyjnym.
-
Czy Polski działa z zamówieniem opartym na blokach WooCommerce?
-
Tak. Polski w pełni obsługuje zarówno klasyczne, jak i blokowe zamówienie oraz koszyk.
-
Czy Polski działa z HPOS (wysokowydajne przechowywanie zamówień)?
-
Tak. Polski deklaruje pełną zgodność z WooCommerce HPOS (niestandardowe tabele zamówień).
-
Gdzie mogę zgłaszać błędy lub proponować funkcje?
-
Prosimy o korzystanie z forum pomocy WordPress.org w sprawach wsparcia i propozycji nowych funkcji.
-
Czy jest prosty formularz opinii dla osób nietechnicznych?
-
Tak. Panel administracyjny wtyczki zawiera prosty formularz opinii, który zapisuje wiadomości lokalnie w WordPressie. Nie umieszczaj w tym formularzu haseł, kluczy licencyjnych ani danych osobowych klientów.
-
Jaka jest różnica między dezaktywacją a odinstalowaniem?
-
Dezaktywacja wtyczki Polski zachowuje Twoje ustawienia i zapisane dane. Odinstalowanie usuwa pliki wtyczki. Dane wtyczki są usuwane tylko wtedy, gdy włączone jest ustawienie usuwania danych przy odinstalowaniu.
Recenzje
Wtyczka nie ma jeszcze żadnej recenzji.
Kontrybutorzy i deweloperzy
„Polski for WooCommerce” jest oprogramowaniem open source. Poniższe osoby miały wkład w rozwój wtyczki.
ZaangażowaniWtyczka „Polski for WooCommerce” została przetłumaczona na 1 język. Podziękuj tłumaczom za ich wkład.
Przetłumacz wtyczkę “Polski for WooCommerce” na swój język.
Interesuje cię rozwój wtyczki?
Przeglądaj kod, sprawdź repozytorium SVN lub czytaj dziennik rozwoju przez RSS.
Rejestr zmian
1.20.0
- Nowy moduł: Promocje / ceny dynamiczne (podstawowe). Opcjonalny, domyślnie wyłączony. Dwa automatyczne rabaty koszyka, które konfigurujesz w ustawieniach modułu: rabat ilościowy (procentowa zniżka na pozycję produktu po osiągnięciu progu ilości) oraz rabat koszykowy (procentowa zniżka, gdy wartość koszyka osiągnie próg, stosowana jako opłata koszyka). Przeliczane idempotentnie od ceny regularnej, bezpieczne przy wielokrotnych przeliczeniach sum w WooCommerce.
1.19.0
- Nowy moduł: Zwroty i reklamacje (RMA). Opcjonalny, domyślnie wyłączony. Klienci mogą złożyć wniosek o reklamację (reklamacja) lub zwrot (zwrot) dla kwalifikującego się zamówienia z poziomu Moje konto; wniosek jest zapisywany, potwierdzany e-mailem do klienta i sklepu oraz obsługiwany w nowej kolejce administracyjnej (WooCommerce > Polski > Returns & complaints) ze zmianami statusu (zgłoszone, w trakcie, rozwiązane, odrzucone). Odwzorowuje proces wniosku o odstąpienie i ponownie wykorzystuje infrastrukturę zgód i zamówień. Konfigurowalne okno kwalifikowalności i e-mail powiadomień. Udostępnia narzędzia i szablony, nie porady prawne.
- Orkiestracja modułów sklepu: ujednolicony loader sprawia, że przyciski listy życzeń, szybkiego podglądu i inne renderowane po załadowaniu strony (nieskończone przewijanie, filtry AJAX, okno szybkiego podglądu) nadal działają, z usprawnieniami dostępności i wydajności.
1.18.0
- Odświeżenie identyfikacji wizualnej w całym panelu: nowa marka Polski z samodzielnie hostowanymi krojami webowymi Schibsted Grotesk i Hanken Grotesk (font-display swap), monogramową ikoną menu oraz nagłówkiem panelu z logotypem. Style panelu wczytują się wyłącznie na ekranach samej wtyczki, nigdy w sklepie, aby chronić Core Web Vitals.
- Dane strukturalne w sklepie: wtyczka uzupełnia teraz własne dane JSON-LD WooCommerce dla Product i Offer (bez duplikowania grafu) o wartość priceValidUntil oraz, dla produktów w promocji, o zgodną z prawdą najniższą cenę Omnibus z 30 dni jako specyfikację MinimumPrice, co poprawia wyniki rozszerzone i czytelność maszynową.
- Rozszerzone katalogi lokalizacji dla języków: polskiego, niemieckiego, czeskiego, słowackiego, ukraińskiego, chińskiego uproszczonego, białoruskiego i litewskiego, wraz z bieżącym utrzymaniem tłumaczeń.
- Porządki w typografii: zastąpiono długie myślniki dywizami w ciągach interfejsu oraz we wszystkich katalogach tłumaczeń, aby zapewnić spójne wyświetlanie.
1.17.0
- Monitor kondycji sklepu: nowy opcjonalny moduł (domyślnie wyłączony) do ciągłego, pasywnego monitorowania działania sklepu. Trzy czujniki uruchamiają się co 5 minut przez WP-Cron: błędy krytyczne na froncie (handler
shutdown, tylko sklep), współczynnik nieudanych zamówień (obserwujewoocommerce_checkout_order_processed, odpowiednik ze Store API orazwoocommerce_order_status_failedw przesuwnym oknie 2-godzinnym) oraz sprawdzenie anomalii sprzedaży (poprzednia pełna godzina względem typowej liczby zamówień dla tego samego dnia tygodnia/godziny z ostatnich 8 tygodni, oceniane najwyżej raz na godzinę). Nigdy nie są składane żadne sztuczne zamówienia. Alerty wysyłane są e-mailem oraz opcjonalnym webhookiem JSON (zgodnym ze Slack/Discord) z konfigurowalnym czasem wyciszenia; poważna awaria zapisuje również wpis w rejestrze incydentów bezpieczeństwa, gdy ten moduł jest włączony. Panel kondycji w sekcji Raporty i narzędzia z ręcznym „Uruchom sprawdzenie teraz”, powiadomieniem w panelu, gdy status nie jest OK, oraz endpointem REST tylko do odczytuGET /polski/v1/store-health. Zamówienie blokowe jest obsługiwane przez hak Store API. Ustawienia: e-mail/webhook alertów, próg współczynnika niepowodzeń i minimalna próba, próg anomalii sprzedaży oraz czas wyciszenia alertów.
1.15.0
- Pola B2B: opcjonalny przełącznik „Potrzebuję faktury VAT”, oddzielny od istniejącego checkboxa „Kupuję jako firma”. Polska konwencja e-commerce traktuje potrzebę faktury jako niezależną od relacji firma-konsument (paragon vs faktura), dlatego pole to jest osobną zgodą. Zapisuje się do meta zamówienia
_polski_needs_invoice. Podłączone zarówno do klasycznego zamówienia, jak i API dodatkowych pól WC 8.6+. Nowe ustawieniepolski_b2b.show_needs_invoice_toggle(domyślnie wyłączone). - Porównywarka: przyklejona dolna szuflada (
polski_compare.show_sticky_bar, domyślnie wyłączona) pokazująca miniatury porównywanych produktów wraz z przyciskiem CTA „Porównaj (N)” oraz przyciskiem czyszczenia wszystkiego. Ukryta na samej stronie porównywarki; automatycznie wyłączana, gdy lista jest pusta. CSS dostosowany do urządzeń mobilnych. - Porównywarka: nowy shortcode
[polski_compare_count]dla licznika w nagłówku, z atrybutamitemplate,classorazhide_when_empty. Renderuje odnośnik do strony porównywarki z atrybutemdata-polski-compare-count, który istniejąca warstwa AJAX może aktualizować na żywo. - Filtry AJAX: nazwane presety. Argument shortcode’a
[polski_filters preset="b2b"]ładuje nadpisania z nowej opcjipolski_filter_presets([nazwa => array<ustawienie, wartość>]); wewnętrzna tablica jest scalana z globalnymi ustawieniami filtrów przed renderowaniem. Archiwa mogą mapować się do presetu przez filtrpolski/filters/archive_preset. Modyfikacje presetów w czasie działania przezpolski/filters/preset(preset, nazwa).
1.14.1
- Pola B2B: pełna walidacja IBAN.
B2BCheckoutService::isPlausibleIban()wykonuje teraz sumę kontrolną mod-97 zgodną z ISO 13616 oraz sprawdzenie długości na podstawie kodu kraju (PL=28, DE=22, GB=22, FR=27, IT=27 oraz 25 kolejnych rynków UE/CH/GB). Zastępuje wcześniejsze sprawdzenie wyłącznie strukturalne. - DSA: ograniczanie liczby żądań na adres IP w handlerze wysyłki zgłoszeń. Domyślnie 5 zgłoszeń na godzinę na adres IP; okno i limit można filtrować przez
polski/dsa/rate_limit_window_secondsorazpolski/dsa/rate_limit_max_attempts. Źródłowy adres IP można filtrować przezpolski/dsa/rate_limit_ipdla witryn za reverse proxy. - Jakość kodu: ściślejsza zgodność z Plugin Check w istniejących modułach. CRA
IncidentRepositorykorzysta teraz z symboli zastępczych%izamiast interpolowanych zapytań{$table};FilterServicedokumentuje kontekst filtra tylko do odczytu opartego na GET za pomocą ograniczonego blokuphpcs:disable/enablezamiast pozostawiać otwarte ostrzeżenie Zalecane;CRAIncidentsPagedodajewp_unslash()+sanitize_key()przed przekazaniem$_POST['kind']oraz$_POST['severity']doIncidentKind::tryFrom()iSeverity::tryFrom();templates/forms/ajax-filters.phpsanityzuje pojedyncze odczyty$_GET[$key].
1.14.0
- Pola zamówienia B2B: obsługa zamówienia blokowego przez
woocommerce_register_additional_checkout_field(WC 8.6+). NIP, REGON i IBAN pojawiają się teraz zarówno w klasycznym, jak i blokowym zamówieniu z jednej rejestracji. Wartości zapisane przez API dodatkowych pól WC są kopiowane do starszych meta zamówienia_billing_nip,_billing_regon,_billing_ibanprzy zapisie (woocommerce_set_additional_field_value), dzięki czemu istniejące moduły KSeF i faktur odczytują je bez zmian. Ścieżka tylko klasycznawoocommerce_billing_fieldsjest automatycznie pomijana, gdy dostępne jest nowoczesne API, co zapobiega zduplikowanym wierszom rozliczeniowym. Sklepy na WC < 8.6 nadal korzystają ze ścieżki tylko klasycznej z przełącznikiem firmy. - Moduł DSA: widget zgłoszeń dla poszczególnych produktów. Opcjonalna rozwijana sekcja „Zgłoś nielegalne treści (DSA)” na stronach pojedynczego produktu z formularzem zgłoszenia wstępnie wypełnionym bezpośrednim odnośnikiem do produktu oraz czytelną nazwą. Formularz wysyła dane do istniejącego handlera admin-post
polski_dsa_report, dzięki czemu zgłoszenia trafiają do tej samej kolejki w panelu co zgłoszenia z shortcode’a. Konfigurowalna pozycja (po podsumowaniu produktu lub w bloku meta produktu). Nowy filtrpolski/dsa/product_widget_enabled. Domyślniepolski_dsa.product_widget_enabled(wyłączone) orazpolski_dsa.product_widget_position(after_summary). - Moduł DSA: uzupełniono wartości domyślne dla
polski_dsa(contact_email,form_title,form_introoraz nowe klucze widgetu), dzięki czemu administratorzy widzą zasilone wartości przy pierwszej aktywacji zamiast pustych ciągów.
1.13.0
- New module: B2B checkout fields. Adds an optional „Buying as a company” toggle plus NIP, REGON, and IBAN fields to WooCommerce classic checkout, with conditional show/hide tied to the toggle. NIP is validated on submit using the official Polish checksum algorithm and saved to standard
_billing_nipmeta so existing KSeF and invoice integrations can pick it up without changes. REGON accepts 9- or 14-digit numbers; IBAN passes a structural sanity check (country prefix + 13-32 alphanumeric body, length 15-34). Settings grouppolski_b2b(enabled,show_company_toggle,nip,regon,iban). New static utilityPolski\Util\NipValidator(isValid,normalize,format). If another integration registers a NIP field, Polski skips its own NIP registration to avoid a duplicate field.
1.12.0
- AI Feed: manifest
/llms.txtw katalogu głównym witryny zgodny z otwartym standardem dostępnym pod adresem https://llmstxt.org. Agenci AI, którzy szukają znanego pliku pod/llms.txt, otrzymują teraz indeks witryny w formacie Markdown – tytuł, opis, strony prawne z odnośnikami?output_format=md, stronę sklepu WooCommerce oraz najważniejsze kategorie produktów. Filtry:polski/ai_feed/llms_txt_enabled,polski/ai_feed/llms_txt_sections,polski/ai_feed/llms_txt_category_limit. Ustawieniepolski_ai_feed.llms_txt_enabled(domyślnietrue).
1.11.0
- Nowy moduł: AI Feed. Udostępnia pojedyncze wpisy, strony oraz produkty WooCommerce jako Markdown poprzez negocjację treści, dzięki czemu agenci AI oraz roboty LLM mogą przetwarzać treść sklepu bez scrapowania HTML. Uruchamiany nagłówkiem
Accept: text/markdownlub argumentem zapytania?output_format=md. Dodaje<link rel="alternate" type="text/markdown">do widoków pojedynczych w celu wykrywania oraz akcję w wierszu „Wyświetl wersję AI” na ekranach list wpisów, stron i produktów. - AI Feed: Markdown produktu wzbogacony o dane polskiego rynku – SKU, GTIN/EAN, cena brutto/regularna/promocyjna, waluta, klasa podatkowa, najniższa cena Omnibus (z ostatnich 30 dni), czas dostawy, ilość i dostępność w magazynie, waga, wymiary, marka, producent, osoba odpowiedzialna GPSR oraz kategorie produktów. Front matter udostępnia te same pola jako YAML do strukturalnego przetwarzania.
- AI Feed: filtry
polski/ai_feed/enabled,polski/ai_feed/post_types,polski/ai_feed/post_markdown,polski/ai_feed/product_markdown,polski/ai_feed/product_facts,polski/ai_feed/password_required. Grupa ustawieńpolski_ai_feed(enabled,post_types). Domyślne typy wpisów:post,page,product.
1.10.0
- New module: OSS observer. Tracks the EU intra-community €10,000 B2C delivery threshold by integrating with the standalone One Stop Shop plugin. One-click install + activation directly from the module row. WooCommerce admin note prompts install when the observer is toggled on without the external plugin present. Exposes the filter
polski_tax_oss_enabledso custom tax integrations can branch tax logic on OSS state. - Strona modułów: przeprojektowana jako tabela list WP (Nazwa / Włączony / Opis / Edycja) z grupowaniem priorytetowym według MoSCoW – Prawo i zgodność, Podatki i ceny, Zamówienia, Treść i zaufanie, Zaawansowane i narzędzia. Ikona ołówka otwiera dedykowaną podstronę ustawień dla każdej grupy (
admin.php?page=polski-group-<bucket>#polski-module-<id>) rejestrowaną dynamicznie dla każdego modułu z ustawieniami, włączonego lub nie. - Kreator konfiguracji: przepisany jako prowadzony proces w 5 krokach (Firma > Dane prawne > Podatek i OSS > Zamówienie > Zakończenie). Każdy krok korzysta z wierszy z przełącznikami i wbudowanymi panelami opisów; kroki opcjonalne mają Pomiń krok + Kontynuuj; przełącznik OSS w kroku podatkowym uruchamia instalację wtyczki One Stop Shop na zakończenie.
- Panel: przycisk „Uruchom ponownie kreatora konfiguracji” dla sprzedawców, którzy chcą ponownie przejść prowadzoną konfigurację po jej zakończeniu.
1.9.1
- Lista kontrolna zgodności: sekcja dostępności (WCAG) – 9 reguł heurystycznych sprawdzanych względem statycznego kodu HTML strony głównej (html lang, odnośnik pomijający, h1, meta viewport, punkt orientacyjny main, rola search, obrys fokusu, automatycznie odtwarzany dźwięk, brak atrybutu alt obrazu). REST:
GET /polski/v1/compliance/accessibility. - Lista kontrolna zgodności: baner cookie zawiera teraz detektor monitów o powiadomienia push – oznacza
Notification.requestPermission,PushManager.subscribeoraz popularne zewnętrzne SDK push uruchamiane bez interakcji użytkownika. - Nowy moduł: generator dokumentacji szkoleniowej RODO. Strona panelu
Polski > Dokumentacja szkoleniowa RODOpobiera trzy gotowe do druku szablony HTML (dziennik szkoleń, podsumowanie zasad, plan reagowania na naruszenia danych). Wstępnie oznaczone danymi sklepu z kreatora konfiguracji.
1.9.0
- Nowy moduł: generator szablonów reklamacji. Gotowy do druku formularz reklamacyjny automatycznie uzupełniany danymi sprzedawcy. Strona panelu
Polski > Szablon reklamacjiz podglądem + pobieraniem jako samodzielny plik HTML. Shortcode[polski_complaint_template]do osadzania na stronach dla klientów. - Nowy moduł: pomocniki informacji o prawach autorskich / licencji. Shortcode
[polski_copyright]+ blokpolski/copyrightz rokiem, właścicielem oraz opcjonalną licencją. Shortcode[polski_image_credit]do informacji o autorstwie poszczególnych zdjęć wraz z odnośnikiem do źródła i licencją.
1.8.2
- Nowy moduł: identyfikacja działalności. Renderuje dane firmowe sklepu (nazwa, adres, NIP, REGON, e-mail, telefon) jako shortcode
[polski_business_info]oraz dynamiczny blok Gutenbergapolski/business-info. Odczytuje wartości ustawione w kreatorze konfiguracji (opcjapolski_general). Formaty blokowy i wierszowy z konfigurowalnym separatorem.
1.8.1
- New module: SBOM generator. Emits a CycloneDX 1.4 JSON document listing PHP (composer.lock) and JS (package-lock.json) dependencies plus plugin metadata. Admin page
Polski > SBOMwith one-click download. Content-Typeapplication/vnd.cyclonedx+json– ready for Dependency-Track / Trivy.
1.8.0
- Nowy moduł: zgłaszanie incydentów CRA. Zapisuje aktywnie wykorzystywane podatności oraz incydenty bezpieczeństwa z terminem wczesnego ostrzeżenia z art. 14 CRA (24 h dla incydentów/wykorzystania, 72 h dla zdarzeń bliskich incydentowi). Strona panelu
Polski > Incydenty CRAdo zapisywania, wysyłania (webhook + e-mail) oraz oznaczania jako rozwiązane. Eksport JSON zgodny z projektem schematu ENISA SRP. Cogodzinny cron sprawdza zbliżające się terminy. Haki akcjipolski_cra_incident_recordedorazpolski_cra_incident_deadline_approaching. Migracja 2.1.0 tworzypolski_cra_incidents.
1.7.2
- Audyt witryny: cztery nowe sprawdzenia ciemnych wzorców (dark patterns). Wymuszone założenie konta (dyrektywa UE 2023/2673), nieaktualne/fałszywe liczniki promocji (produkty nadal w promocji po przekroczeniu date_to), wprowadzająca w błąd cena „od” dla produktów zmiennych z rozpiętością min/max >50%, fałszywa presja czasu przez zawyżony próg niskiego stanu magazynowego (>5).
1.7.1
- Lista kontrolna zgodności: dodano sekcję banera cookie (aktywna zgoda). Skanuje kod HTML strony głównej z godzinną pamięcią podręczną typu transient i raportuje 9 reguł (obecność banera, Akceptuj, Odrzuć o równej widoczności, szczegółowe ustawienia, kategorie Analityka/Marketing, odnośnik do polityki prywatności, wskazówka o wycofaniu zgody, pułapka frazy zakładającej dorozumianą zgodę).
- REST API:
GET /polski/v1/compliance/cookie-banner?url=zwraca listę kontrolną banera cookie w formacie JSON. - 5 nowych testów jednostkowych.
1.7.0
- Nowy moduł: lista kontrolna zgodności dla polityki prywatności (RODO art. 13) oraz regulaminu (Ustawa o świadczeniu usług / Ustawa o prawach konsumenta). Strukturalny skaner heurystyczny z 17 + 15 regułami, poziomami istotności (Wymagane/Zalecane/Opcjonalne) oraz stroną listy kontrolnej w panelu WP, pokazującą wynik oraz status zaliczenia/niezaliczenia dla każdego elementu.
- REST API:
GET /polski/v1/compliance/page/{privacy|terms}zwraca pełną listę kontrolną w formacie JSON. - Panel administracyjny: nowe podmenu Polski > Lista kontrolna zgodności.
- 12 testów jednostkowych obejmujących normalizację (HTML + usuwanie znaków diakrytycznych), ocenę reguł, obliczanie wyniku oraz domyślne zestawy reguł.
1.6.3
- Naprawiono: dodano adnotacje
phpcs:ignorew poszczególnych liniach wraz z uzasadnieniami przy wszystkich wywołaniach niestandardowych tabel$wpdb(repozytoria, Migrator, DSAService, uninstall.php) - Naprawiono: dodano adnotacje
phpcs:ignoreprzy wyszukiwaniachmeta_key/meta_value/meta_query/tax_queryw klasach usług (ExpertReview, DoubleOptIn, SocialLogin, ReviewRequest, Faq) - Naprawiono: dodano
phpcs:ignoreprzy wywołaniachdo_action()nagłówka/stopki wiadomości e-mail WooCommerce w szablonach e-mail - Wynik: Plugin Check zgłasza teraz 0 błędów i 0 ostrzeżeń dla zbudowanej paczki wydania
1.6.2
- Naprawiono: złagodzono treść opisu wtyczki oraz FAQ, aby nie sugerować zgodności z prawem ani gwarancji prawnych
- Naprawiono: udokumentowano Google OAuth, Facebook OAuth oraz Google Tag Manager / Google Analytics w sekcji Usługi zewnętrzne
- Naprawiono: usunięto niedziałające odnośniki wsparcia GitHub z paska bocznego panelu oraz okna dezaktywacji
- Naprawiono: wzmocniono pozostałą obsługę
$_GEToraz$_POSTw procesach panelu i sklepu - Naprawiono: zastąpiono wewnętrzne wywołania
wp_redirect()przezwp_safe_redirect()tam, gdzie cel pozostaje w obrębie witryny - Naprawiono: usunięto użycie HEREDOC z wiadomości e-mail z prośbą o opinię, aby poprawić zgodność z Plugin Check
- Naprawiono: zastąpiono wszystkie pozostałe wbudowane znaczniki
<script>(zdarzenia DataLayer, schemat JSON-LD) przezwp_print_inline_script_tag()/wp_print_script_tag() - Naprawiono: przebudowano zapytania repozytoriów tak, aby korzystały z
$wpdb->prepare()z symbolem zastępczym nazwy tabeli%i(eliminuje adnotacje dla interpolacji nazwy tabeli) - Naprawiono: zastąpiono surowe
echo $htmlw widgetach Elementora przezwp_kses_post() - Naprawiono: dodano prefiks
polski_do wszystkich zmiennych szablonów, aby spełnić konwencje nazewnictwa WordPress.org - Naprawiono: usunięto dziesiątki adnotacji phpcs:ignore na rzecz rzeczywistych poprawek
1.6.1
- Naprawiono: przeniesiono wbudowane CSS i JS panelu do plików zasobów ładowanych przez kolejkę (wp_enqueue_style / wp_enqueue_script)
- Naprawiono: zsanityzowano dane wejściowe $_GET w szablonie filtrów produktów AJAX
- Naprawiono: usunięto ręczne wywołanie load_plugin_textdomain() (WordPress.org automatycznie ładuje tłumaczenia od WP 4.6)
- Naprawiono: wzmocniono weryfikację nonce poprzez sanityzację wartości $_POST przed przekazaniem do wp_verify_nonce()
- Naprawiono: dodano brakujące wywołanie wp_unslash() oraz sprawdzenie uprawnień w procesach zapisu recenzji eksperta i meta produktu
- Naprawiono: zaktualizowano nazwę użytkownika Contributors w readme.txt oraz usunięto niedziałające odnośniki do darowizn / repozytorium GitHub
1.6.0
- Dodano moduł logowania społecznościowego (Google + Facebook OAuth2 z automatyczną rejestracją)
- Dodano taksonomię Autorzy produktów dla księgarni i wydawnictw
- Dodano niestandardowy typ wpisu Recenzje ekspertów z ocenami oraz znacznikami Schema.org
- Dodano moduł eksportu zamówień (CSV z ponad 30 konfigurowalnymi polami)
- Dodano moduł FAQ z kategoriami, shortcode’em akordeonu oraz Schema.org FAQPage
- Rozbudowano niestandardowe pola zamówienia o 5 typów logiki warunkowej (wartość pola, wysyłka, płatność, kategoria, suma koszyka)
1.5.0
- Dodano moduł automatycznego przywracania stanu magazynowego – automatycznie przywraca stan magazynowy produktu przy anulowaniu, zwrocie lub niepowodzeniu zamówienia
- Dodano moduł AJAX Dodaj do koszyka – dodawanie produktów do koszyka bez przeładowania strony, w tym produktów zmiennych
- Dodano moduł niestandardowych pól zamówienia – dodawanie, modyfikowanie i zmiana kolejności pól zamówienia z wieloma typami pól oraz walidacją
- Nowe grupy modułów „Stan magazynowy i koszyk” oraz „Zamówienie” w panelu administracyjnym
1.4.0
- Dodano wyświetlanie ceny „od” dla produktów zmiennych (pokazuje „od XX zł” zamiast zakresu cen)
- Dodano reguły minimalnej wartości i ilości zamówienia wraz z walidacją koszyka
- Dodano automatyczne wiadomości e-mail z prośbą o opinię po zrealizowaniu zamówienia
- Dodano obsługę rezygnacji (opt-out) dla wiadomości e-mail z prośbą o opinię
- Ulepszono lokalizację: wszystkie zapasowe ciągi __() korzystają teraz z angielskiego jako języka źródłowego
1.3.0
- Dodano moduł GPSR: 8 pól produktowych, masowy import/eksport CSV, kolumna statusu na liście produktów, prezentacja na stronie produktu
- Dodano proces wniosku klienta o odstąpienie od umowy w Moim koncie (dyrektywa UE 2023/2673)
- Dodano zestaw narzędzi DSA: shortcode formularza zgłoszeń, strona zgłoszeń w panelu, powiadomienia e-mail
- Dodano moduł gotowości pod KSeF: automatyczne wykrywanie na podstawie NIP, haki integracyjne, kolumna na liście zamówień
- Dodano moduł incydentów bezpieczeństwa: rejestr incydentów ukierunkowany na CRA ze śledzeniem statusu oraz eksportem CSV
- Dodano oznaczenie zweryfikowanego zakupu przy opiniach produktów
- Rozszerzono audyt witryny o sprawdzenia DPA, DSA, gotowości pod KSeF, przeciwdziałania greenwashingowi, zweryfikowanych opinii oraz incydentów bezpieczeństwa
- Dodano pola produktowe przeciwdziałające greenwashingowi (podstawa deklaracji ekologicznej, certyfikat, data ważności)
- Dodano dynamiczne strony ustawień dla każdego modułu w menu panelu administracyjnego WordPressa
- Naprawiono wyświetlanie GPSR na stronach pojedynczego produktu w blokach WooCommerce
- Uproszczona darmowa wersja na potrzeby zgłoszenia do WordPress.org
- 5 pakietów językowych: polski, niemiecki, czeski, słowacki, ukraiński
1.1.0
- Dodano moduły sklepowe (porównywarka, szybki podgląd, oznaczenia, zakładki, film, powiększanie, slider, nieskończone przewijanie, wyskakujące okna)
- Dodano konfigurowalne teksty panelu administracyjnego oraz wiadomości e-mail
- Dodano procesy klienta dla odstąpienia od umowy oraz listy oczekujących
- Ulepszona obsługa blokowego zamówienia WooCommerce
1.0.0
- Pierwsze wydanie
- Checkboxy RODO, dyrektywa Omnibus, formularze odstąpienia od umowy
- Shopmarks: ceny jednostkowe, czasy dostawy, komunikaty podatkowe
- Funkcje listy życzeń i listy oczekujących
- Pola informacji o produktach żywnościowych
- REST API, WP-CLI, import/eksport CSV
- Pełne polskie tłumaczenie
