Polski for WooCommerce
Kostenloses Plugin zur Anpassung von WooCommerce an die rechtlichen und wirtschaftlichen Bedingungen des polnischen Marktes. GPSR, Omnibus, GDPR, DSA, KSeF-ready und Storefront-Funktionen in einem Paket.
Polski for WooCommerce vereint die Anforderungen des polnischen Marktes, aktuelle EU-Richtlinien und Shop-Funktionen in einem einzigen Plugin. Anstatt 10 separate Plugins für Grundpreise, Widerrufsformulare, GPSR, DSA, Lebensmitteldaten, Compliance-Audits und Merchandising-Tools zu installieren - haben Sie alles in einem Paket.
Das Plugin befindet sich derzeit im Prüfprozess bei WordPress.org. Der Quellcode ist auf GitHub verfügbar.
Anforderungen: WordPress 6.4+, WooCommerce 8.0+, PHP 8.1+ | Version: 1.3.0 | Lizenz: GPLv2
Inhaltsverzeichnis
- Installation und Konfiguration
- GPSR - Produktsicherheit
- Omnibus - niedrigster Preis der letzten 30 Tage
- Widerruf vom Vertrag - Rücksendungen
- Storefront-Module
- Lebensmittelprodukte
- Weitere Module (DSA, KSeF, GDPR, Steuernummer, Marken, Schema.org, CRA, DPA und mehr)
- Technische Anforderungen
- Shortcodes
- Fehler melden und Diskussionen
Installation und Konfiguration
Erste Schritte
Die Konfiguration von Polski for WooCommerce besteht aus 6 Schritten. Die meisten Einstellungen funktionieren mit Standardwerten - Sie müssen nur die Module aktivieren.
Installation
Über das WordPress-Dashboard (empfohlen)
- Gehen Sie zu Plugins > Neu hinzufügen
- Suchen Sie nach Polski for WooCommerce
- Klicken Sie auf Installieren und Aktivieren
- Das neue Menü Polski erscheint in der Seitenleiste
Manuell aus einer ZIP-Datei
- Laden Sie die ZIP-Datei von GitHub herunter
- Plugins > Neu hinzufügen > Plugin hochladen
- Wählen Sie die ZIP-Datei und klicken Sie auf Installieren
- Klicken Sie auf Aktivieren
Module aktivieren
Gehen Sie nach der Aktivierung zu Polski > Module. Sie sehen eine Liste mit 42 verfügbaren Modulen, die in Kategorien gruppiert sind:
- Preise und Omnibus - Grundpreis, niedrigster Preis der letzten 30 Tage, MwSt.-Anzeige, OSS-Schwellenbeobachter (10.000 EUR)
- Checkout - Bestellbutton, rechtliche Checkboxen, Steuernummer
- Rechtliche Compliance - GPSR, DSA, KSeF, Greenwashing, GDPR
- Verbraucherrechte - Widerrufsformular, rechtliche Seiten, ODR
- Produktinformationen - Lieferzeit, Hersteller, Marken, GTIN
- Lebensmittelprodukte - Nährwerte, Allergene, Nutri-Score
- Storefront-Module - Wunschliste, Vergleich, Quick View, Filter, Suche
- E-Mail - rechtliche Anhänge, Double Opt-in
- Tools - Compliance-Dashboard, Shop-Audit
Jedes Modul hat einen Ein/Aus-Schalter. Aktivieren Sie die Module, die Sie benötigen.
Rechtliche Grundkonfiguration (Minimum)
Für die grundlegende Compliance mit polnischem Recht aktivieren Sie:
- Rechtliche Checkboxen - gehen Sie zu den Moduleinstellungen, aktivieren Sie Checkboxen für AGB, Datenschutzrichtlinie und Widerrufsrecht
- Bestellbutton - ändert den Text automatisch auf “Kaufen mit Zahlungspflicht”
- Rechtliche Seiten - wählen Sie Ihre AGB-, Datenschutz- und Widerrufsrechtsseiten aus
MwSt.-Konfiguration
- Stellen Sie sicher, dass Sie korrekte MwSt.-Sätze unter WooCommerce > Einstellungen > Steuern haben (23 %, 8 %, 5 %, 0 %)
- Aktivieren Sie das Modul MwSt.-Anzeige und wählen Sie den Modus (Brutto/Netto)
- Falls Sie eine Steuerbefreiung nutzen (Art. 113) - aktivieren Sie die entsprechende Checkbox
GPSR (wenn Sie physische Produkte verkaufen)
Seit dem 13. Dezember 2024 verlangt die GPSR-Verordnung, dass Produktseiten in Onlineshops Hersteller- und Verantwortlichendaten enthalten. Aktivieren Sie das GPSR-Modul und füllen Sie die Daten im Polski-Tab im Produkteditor aus.
Compliance-Dashboard
Gehen Sie zu Polski > Dashboard und klicken Sie auf Compliance prüfen. Das System überprüft:
- Ob rechtliche Seiten erstellt und zugewiesen sind
- Ob rechtliche Checkboxen im Checkout aktiviert sind
- Ob der Bestellbutton den richtigen Text hat
- Ob die MwSt.-Sätze konfiguriert sind
- Ob GPSR-Daten ausgefüllt sind (wenn Modul aktiv)
Grünes/rotes Ergebnis für jeden Punkt. Beheben Sie rote Elemente und prüfen Sie erneut.
Theme-Vorlagen
Alle Plugin-Vorlagen können aus dem Theme überschrieben werden. Kopieren Sie die Datei aus wp-content/plugins/polski/templates/ nach wp-content/themes/your-theme/polski/ und bearbeiten Sie sie.
REST API
Das Plugin stellt eine vollständige REST API unter dem Namespace polski/v1/ bereit:
GET /polski/v1/settings- Einstellungen abrufenPOST /polski/v1/settings- Einstellungen aktualisierenGET /polski/v1/withdrawals- Liste der WiderrufsanträgeGET /polski/v1/checkboxes- Checkbox-Konfiguration
Die API-Dokumentation ist nach der Plugin-Installation verfügbar.
WP-CLI
wp polski migrate # Datenbankmigrationen ausführen
wp polski smoke-test # Korrektheit der Installation prüfen
GPSR - allgemeine Produktsicherheit
Seit dem 13. Dezember 2024 verlangt die EU-Verordnung 2023/988 (GPSR - General Product Safety Regulation), dass Produktseiten in Onlineshops Herstellerdaten sowie die Daten der für die Produktkonformität verantwortlichen Person enthalten. Das GPSR-Modul in Polski for WooCommerce zeigt diese Informationen automatisch auf der Produktseite an und bietet Tools zur Verwaltung im Adminpanel.
Modul aktivieren
- Gehen Sie zu Polski > Module
- Suchen Sie den Bereich Rechtliche Compliance
- Aktivieren Sie das Modul GPSR
- Änderungen speichern
Nach der Aktivierung registriert das Modul neue Felder im Produkteditor und fügt eine Statusspalte in der Produktliste hinzu.
GPSR-Felder im Produkteditor
Nach der Aktivierung des Moduls erscheint im Editor jedes Produkts ein Bereich GPSR - Produktsicherheit (Tab Polski). Er enthält 8 Felder:
| Feld | Typ | Beschreibung |
|---|---|---|
| Herstellername | Text | Vollständiger Name des Unternehmens, das das Produkt hergestellt hat |
| Herstelleradresse | Textarea | Vollständige Postanschrift des Herstellers |
| Importeurname | Text | Name des Importeurs (ausfüllen, wenn das Produkt von außerhalb der EU stammt) |
| Importeuradresse | Textarea | Vollständige Postanschrift des Importeurs |
| Verantwortliche Person | Text | In der EU ansässiges Unternehmen, das für die GPSR-Konformität des Produkts verantwortlich ist |
| Produktkennung | Text | Chargennummer, Seriennummer oder eine andere Kennung |
| Sicherheitswarnungen | Textarea | Gesetzlich oder vom Hersteller vorgeschriebene Warnhinweise |
| Sicherheitsanweisungen | Textarea | Anweisungen zur sicheren Verwendung |
Der GPSR-Bereich auf der Produktseite wird nur angezeigt, wenn mindestens ein Feld ausgefüllt ist. Die Daten werden in einem <details>-Element mit der Überschrift “Produktsicherheit (GPSR)” dargestellt - der Kunde kann es durch Klicken aufklappen.
Anzeige auf der Produktseite
Das Modul injiziert den GPSR-Bereich automatisch unterhalb der Produktinformationen (Hook woocommerce_product_meta_end). Es werden nur Felder angezeigt, die einen Wert enthalten.
HTML-Struktur des Bereichs:
<div class="polski-gpsr-info">
<details class="polski-gpsr-info__details">
<summary class="polski-gpsr-info__summary">Produktsicherheit (GPSR)</summary>
<dl class="polski-gpsr-info__list">
<dt>Hersteller</dt>
<dd>Herstellername</dd>
<!-- weitere Felder -->
</dl>
</details>
</div>
Das Styling des Bereichs können Sie über CSS im Theme anpassen, indem Sie die Klassen .polski-gpsr-info, .polski-gpsr-info__details und .polski-gpsr-info__list verwenden.
Wenn Sie das Layout oder den Inhält des Bereichs ändern möchten, kopieren Sie die Vorlage aus:
wp-content/plugins/polski/templates/single-product/gpsr-info.php
nach:
wp-content/themes/ihr-theme/polski/single-product/gpsr-info.php
GPSR-Statusspalte in der Produktliste
In der Produktliste (Produkte > Alle Produkte) fügt das Modul eine GPSR-Spalte mit einem visuellen Indikator für die Datenvollständigkeit hinzu:
- Grüner Haken (✓) - 3 oder mehr von 8 Feldern ausgefüllt
- Gelbes Warndreieck - 1-2 Felder ausgefüllt
- Grauer Bindestrich - keine Felder ausgefüllt
Beim Überfahren des Symbols erscheint ein Tooltip mit der Anzahl ausgefüllter Felder, z. B. “5/8 Felder ausgefüllt”. Damit können Sie schnell Produkte identifizieren, bei denen GPSR-Daten fehlen, ohne jeden Eintrag zu öffnen.
CSV-Import und -Export
Das GPSR-Modul wird vollständig durch den CSV-Import/Export-Mechanismus in Polski for WooCommerce unterstützt. Das ist der schnellste Weg, GPSR-Daten für viele Produkte gleichzeitig zu ergänzen.
Export
- Gehen Sie zu Polski > CSV-Import / Export
- Klicken Sie auf Produkte exportieren
- Laden Sie die CSV-Datei herunter
In der CSV-Datei hat jedes Produkt GPSR-Spalten mit dem Präfix polski_gpsr_:
| CSV-Spalte | Entsprechendes Feld |
|---|---|
polski_gpsr_manufacturer_name | Herstellername |
polski_gpsr_manufacturer_address | Herstelleradresse |
polski_gpsr_importer_name | Importeurname |
polski_gpsr_importer_address | Importeuradresse |
polski_gpsr_responsible_person | Verantwortliche Person |
polski_gpsr_product_identifier | Produktkennung |
polski_gpsr_safety_warnings | Sicherheitswarnungen |
polski_gpsr_instructions | Sicherheitsanweisungen |
Import
- Füllen Sie die GPSR-Spalten in der CSV-Datei aus (die Spalte
idoderskuist zur Produktidentifikation erforderlich) - Gehen Sie zu Polski > CSV-Import / Export
- Laden Sie die Datei hoch und klicken Sie auf Importieren
- Das Plugin aktualisiert die Produkt-Metadaten für alle Zeilen in der Datei
Beim Import werden vorhandene Werte überschrieben. Leere Zellen in der CSV-Datei löschen zuvor gespeicherte Daten für das jeweilige Feld.
Verwandte Dokumentationsseiten
Omnibus - niedrigster Preis der letzten 30 Tage
Das Omnibus-Modul in Polski for WooCommerce verfolgt automatisch die Preisentwicklung von Produkten und zeigt bei Aktionsprodukten den niedrigsten Preis der letzten 30 Tage an. Es erfüllt die Anforderungen der Omnibus-Richtlinie (EU 2019/2161), die in Polen seit dem 1. Januar 2023 gilt.
Was ist die Omnibus-Richtlinie?
Die Omnibus-Richtlinie (EU 2019/2161) verpflichtet Onlineshops, Kunden über den niedrigsten Produktpreis der letzten 30 Tage zu informieren, wenn ein Produkt im Angebot ist. Das bedeutet, dass neben dem durchgestrichenen (regulären) Preis und dem Aktionspreis ein Hinweis erscheinen muss wie: “Niedrigster Preis der letzten 30 Tage: 89,00 EUR”.
Das Modul erfasst den Preis bei jedem Speichern des Produkts und speichert die Verlaufsdaten automatisch. Es ist keine manuelle Dateneingabe erforderlich.
Modul aktivieren
- Gehen Sie zu Polski > Module
- Suchen Sie das Modul Niedrigster Preis (Omnibus) in der Gruppe “Preise und Omnibus”
- Aktivieren Sie den Schalter und klicken Sie auf Einstellungen speichern
- Ab diesem Zeitpunkt speichert das Plugin bei jedem Produktspeichern die Preise
Wie funktioniert die Preisverfolgung?
Der Preis wird in zwei Situationen automatisch erfasst:
- beim Speichern eines einfachen Produkts (woocommerce_update_product, woocommerce_new_product)
- beim Speichern einer Variante eines variablen Produkts (woocommerce_save_product_variation)
Pro Tag wird maximal ein Datensatz pro Produkt gespeichert - Duplikate werden übersprungen. Das Modul verfolgt sowohl den regulären Preis als auch den Aktionspreis. Der niedrigste effektive Preis im Verfolgungszeitraum wird bei der Anzeige automatisch berechnet.
Alte Datensätze werden automatisch durch einen Cron-Job (polski_daily_maintenance) gemäß der Einstellung “Verlauf speichern (Tage)” gelöscht.
Moduleinstellungen
Preisverfolgung
| Einstellung | Standardwert | Beschreibung |
|---|---|---|
| Verfolgungszeitraum (Tage) | 30 | Anzahl der Tage, die bei der Berechnung des niedrigsten Preises berücksichtigt werden. Die Richtlinie erfordert mindestens 30 Tage. |
| Verlauf speichern (Tage) | 90 | Datensätze, die älter als dieser Grenzwert sind, werden automatisch aus der Datenbank gelöscht. |
| Preise mit Steuer | aktiviert | Wenn aktiv, werden Bruttopreise (mit MwSt.) verfolgt und angezeigt. |
Anzeige
| Einstellung | Standardwert | Beschreibung |
|---|---|---|
| Nur Aktionsprodukte | aktiviert | Die Information erscheint nur, wenn das Produkt einen aktiven Aktionspreis hat. |
| Produktseite | aktiviert | Zeigt den Hinweis auf der einzelnen Produktseite an. |
| Produktliste (Shop, Kategorien) | deaktiviert | Zeigt den Hinweis in der Produktschleife an. |
| Ähnliche und empfohlene Produkte | deaktiviert | Zeigt den Hinweis in den Bereichen “Ähnliche Produkte” und “Empfohlen” an. |
| Warenkorb | deaktiviert | Zeigt den Hinweis beim Produkt im Warenkorb an. |
| Regulären Preis anzeigen (vor Aktion) | deaktiviert | Zusätzliche Information über den Preis vor Beginn der Aktion. |
Nachrichtenvorlage
| Einstellung | Standardwert | Beschreibung |
|---|---|---|
| Nachrichtentext | Niedrigster Preis der letzten {days} Tage: {price} | Text, der beim Produkt angezeigt wird. Unterstützt Variablen: {price}, {days}, {date}, {regular_price}. |
| Kein Preisverlauf | Hinweis ausblenden | Verhalten wenn keine Verlaufsdaten vorhanden: ausblenden / aktuellen Preis anzeigen / eigener Text. |
| Eigener Text (kein Verlauf) | Der Preis hat sich im Zeitraum von {days} Tagen nicht geändert | Text, der angezeigt wird, wenn kein Verlauf vorhanden und “eigener Text” ausgewählt ist. |
| Berechnet ab | Aktionsbeginn | Referenzpunkt: Aktionsbeginn oder heutiges Datum. |
Variable Produkte
| Einstellung | Standardwert | Beschreibung |
|---|---|---|
| Varianten separat verfolgen | aktiviert | Jede Variante eines variablen Produkts hat einen eigenen, unabhängigen Preisverlauf. |
Vorlagenvariablen
Im Feld “Nachrichtentext” können Sie folgende Variablen verwenden:
{price}- niedrigster effektiver Preis im Verfolgungszeitraum (formatiert, mit Währung){days}- Anzahl der Tage aus der Einstellung “Verfolgungszeitraum”{date}- Datum, an dem der niedrigste Preis erfasst wurde{regular_price}- regulärer Produktpreis vor der Aktion
Beispielnachrichten:
Niedrigster Preis der letzten {days} Tage: {price}
Vorheriger niedrigster Preis: {price} (in den letzten {days} Tagen)
Preis vor der Aktion: {regular_price} | Niedrigster Preis in 30 Tagen: {price}
Shortcode
Der Shortcode [polski_omnibus_price] ermöglicht die Anzeige des niedrigsten Preises an beliebiger Stelle - in der Produktbeschreibung, in der Seitenvorlage oder in einem Page-Builder-Element.
Grundlegende Verwendung (zeigt den Preis des aktuellen Produkts in der WooCommerce-Schleife):
[polski_omnibus_price]
Mit Angabe eines bestimmten Produkts (außerhalb der WooCommerce-Schleife, z. B. auf einer Textseite):
[polski_omnibus_price product="123"]
Dabei ist 123 die Produkt-ID. Der Shortcode gibt einen leeren String zurück, wenn das Produkt nicht im Angebot ist (bei der Standardeinstellung “Nur Aktionsprodukte”) oder wenn keine Verlaufsdaten vorhanden sind.
Kompatibilität mit externen Omnibus-Plugins
Polski for WooCommerce erkennt automatisch populäre externe Omnibus-Lösungen (z. B. wc-price-history). Wenn ein solches Plugin aktiv ist, delegiert das Modul die Datenabfrage an dieses, anstatt die eigene Preisverlaufsdatenbank zu verwenden. Der Integrationsstatus ist im Modulpanel sichtbar.
Wenn kein externes Plugin installiert ist, wird das eingebaute Verfolgungssystem verwendet.
CSS-Klassen und HTML-Filter
Der generierte HTML hat folgende Struktur:
<div class="polski-omnibus-price">
<span class="polski-omnibus-price__text">Niedrigster Preis der letzten 30 Tage: 89,00 EUR</span>
</div>
Sie können das Aussehen über CSS im Theme anpassen oder den PHP-Filter verwenden:
add_filter('polski/price/omnibus_html', function (string $html, $lowest, $product): string {
// $lowest ist ein OmnibusPrice-Objekt mit den Feldern effectivePrice() und currency
// $product ist ein WC_Product-Objekt
return $html;
}, 10, 3);
