Wo WooCommerce Mittel

dfomnibus-woo — Omnibus-Richtlinie-Konformität für WooCommerce

Installation, Berechnungs-Engine für den Referenzpreis, automatische Erfassung, Einstellungen, Verteidigungs-Dashboard, Einfrier-Planer, Import und Fehlerbehebung des Plugins dfomnibus-woo.

Aktualisiert Modulversion 1.0.0

Das Plugin DataFirefly Omnibus Compliance for WooCommerce bringt Ihren Shop in Einklang mit der europäischen Richtlinie 2019/2161, der sogenannten Omnibus-Richtlinie, die seit dem 28. Mai 2022 gilt. Es erfasst die Preishistorie ab der Aktivierung, berechnet den rechtlichen Referenzpreis nach Regeln, die kaum jemand umsetzt, und liefert Ihnen die Unterlagen, die Sie bei einer Prüfung vorlegen können.

Kompatibilität: WordPress ab 6.2, WooCommerce ab 8.0, PHP ab 8.0 (kompatibel mit 8.1, 8.2 und 8.3). HPOS-Kompatibilität deklariert. Einfache und variable Produkte, Mehrwährung, WPML und Polylang. Keine externen Abhängigkeiten, kein CDN.

Installation

  1. Laden Sie das Archiv dfomnibus-woo-1.0.0.zip in Ihrem DataFirefly-Kundenbereich herunter.
  2. Gehen Sie im WordPress-Backend zu Plugins, Installieren, Plugin hochladen und aktivieren Sie es. WooCommerce muss aktiv sein.
  3. Die Erfassung startet sofort: Drei Tabellen werden angelegt und ein erster Schnappschuss wird innerhalb weniger Minuten nach der Aktivierung eingeplant.
  4. Öffnen Sie WooCommerce, Omnibus Compliance, um die Anzeige zu konfigurieren und Ihre Lizenz zu aktivieren.

Drei angelegte Tabellen: wp_dfwomni_price_history für die Preisdatensätze, wp_dfwomni_display_log für das Protokoll der ausgelieferten Hinweise und wp_dfwomni_license_cache für den Lizenz-Cache. Das Präfix wp_ wird automatisch durch Ihres ersetzt.

Die Berechnungs-Engine

Die Berechnung des Referenzpreises liegt in einer Engine ohne WordPress-Abhängigkeit, abgedeckt durch Unit-Tests. Die Regeln werden in dieser Reihenfolge ausgewertet.

1. Serien aufeinanderfolgender Preissenkungen

Wenn Aktionen aufeinanderfolgen, ohne dass das Produkt zu seinem nicht reduzierten Preis zurückkehrt, bleibt der rechtliche Referenzpreis der Preis vor der ersten Senkung der Serie. Er wird bei jeder neuen Aktion nicht neu berechnet. Das Plugin erkennt diese Ketten, friert den Referenzpreis ein und erläutert dies im Backend, zum Beispiel „Referenz eingefroren seit dem 12. Oktober, aufeinanderfolgende Aktionen laufen“.

Eine Serie ist zeitlich begrenzt. Nach standardmäßig 60 Tagen, einstellbar von 30 bis 120 Tagen, gilt der reduzierte Preis als neuer Normalpreis des Produkts: Die allgemeine 30-Tage-Regel greift wieder und der Konformitätsbericht meldet eine dauerhafte Aktion.

2. Normalfall, verankertes Zeitfenster

Der Referenzpreis ist der niedrigste Preis im Zeitraum von 30 Tagen vor Beginn der Preissenkung bis zum Beginn der Preissenkung. Das Fenster ist am Start der Aktion verankert: Es wandert nicht Tag für Tag mit, während die Aktion läuft, anders als ein gleitendes Minimum, das irgendwann den Aktionspreis selbst aufnehmen würde.

3. Kürzlich eingeführtes Produkt

Bei einem Produkt, das seit weniger als 30 Tagen angeboten wird, ist der Referenzpreis der niedrigste Preis seit Verkaufsbeginn, und der Hinweis im Shop nennt die tatsächliche Angebotsdauer, wie es die Vorschrift verlangt.

4. Unzureichende Daten

Deckt die erfasste Historie das gesetzliche Fenster für ein nicht neues Produkt nicht ab, wird kein Referenzpreis zurückgegeben und nichts angezeigt. Ein nie tatsächlich erfasster Referenzpreis darf niemals angezeigt oder nachträglich rekonstruiert werden.

Praktische Folge: Installieren Sie das Plugin vor Ihrer Aktionssaison, nicht am selben Tag. Die Historie lässt sich nicht rückwirkend aufbauen. Sie ist Ihr Nachweis und kann nur im Voraus entstehen.

Automatische Erfassung

Zwei Mechanismen laufen parallel.

  • Täglicher Schnappschuss: Die Aufgabe dfwomni_daily_snapshot durchläuft den Katalog und erfasst den Preisstand. Liegt der letzte Lauf mehr als 24 Stunden zurück, wird automatisch ein einmaliges Nachholen dfwomni_catchup_snapshot eingeplant.
  • Ereignisbasierte Erfassung: Jede tatsächliche Preisänderung wird gespeichert, ob aus dem Produkteditor, einer Schnell- oder Massenbearbeitung, einem CSV-Import, einer REST- oder CRUD-Aktualisierung, einem Repricing-Werkzeug oder dem Beginn und Ende geplanter Aktionen.

Eine Verlaufszeile entspricht einer echten Preisänderung, Duplikate werden verworfen. Preise werden roh mit ihrem Steuerkontext und ihrer Währung gespeichert, nie der bereits formatierte Preis.

Cron in einem Shop mit wenig Traffic absichern

WP-Cron läuft nur, wenn ein Besucher die Seite aufruft. Richten Sie in einem ruhigen Shop einen echten System-Cron ein:

*/15 * * * * wget -q -O /dev/null "https://ihr-shop.de/wp-cron.php?doing_wp_cron"

Das Dashboard warnt, wenn der letzte Schnappschuss älter als 48 Stunden ist.

Einstellungen

Reiter Einstellungen auf der Seite WooCommerce, Omnibus Compliance.

  • Referenz anzeigen bei: nur reduzierten Produkten, das gesetzliche Minimum, oder allen Produkten mit erfasster Historie, ein Transparenzmodus der Pro-Lizenz.
  • Position der Zeile: direkt unter dem Preis oder nach dem Preisblock in der Produktzusammenfassung. Wählen Sie die zweite Option, wenn Ihr Theme das Preis-Markup überschreibt.
  • 30-Tage-Diagramm: zeigt die Preiskurve auf der Produktseite, als natives Canvas von rund 3 KB ohne externes Skript. Pro-Funktion.
  • Eigene Texte: zwei Vorlagen, die Standardzeile mit dem Platzhalter {price} und die Zeile für neue Produkte mit {price} und {days}. Leer lassen, um die mitgelieferten Übersetzungen in Französisch, Englisch, Deutsch, Spanisch und Italienisch zu verwenden. Pro-Funktion.
  • Ausschlüsse: Produkt- und Kategorie-IDs, die den Hinweis nie anzeigen, nützlich für verhandelte oder B2B-Preise.
  • Prüfschwellen: Anzahl Tage, ab der eine Aktion als dauerhaft markiert wird, standardmäßig 60, sowie maximales Alter einer Serie aufeinanderfolgender Senkungen, standardmäßig 60.
  • Bei Deinstallation: Kontrollkästchen, um auch die erfasste Preishistorie zu löschen. Standardmäßig nicht aktiviert, und das mit Absicht.

Dashboard

Der Reiter Dashboard fasst drei Blöcke zusammen.

Zustand der Erfassung

Anzahl erfasster Datensätze, Anzahl überwachter Produkte und Datum des letzten täglichen Schnappschusses, mit der oben genannten Warnung, wenn der Cron nicht mehr läuft.

Konformitätsbericht

Live berechnete Prüfung auf Basis Ihrer aktuellsten Daten, die Produkte auflistet, deren derzeitige Anzeige bei einer Kontrolle angreifbar wäre. Vier Status:

  • Fehlender Referenzpreis: Das Produkt ist reduziert, ohne dass ein Referenzpreis erfasst wurde, der Rabatt wird ohne belastbaren Vorpreis angezeigt.
  • Dauerhafte Aktion: Die Aktion läuft zu lange, der reduzierte Preis ist zum Normalpreis geworden und der angekündigte Rabatt ist angreifbar.
  • Neues Produkt: Hinweis, die Anzeige nennt korrekt die tatsächliche Angebotsdauer.
  • Eingefrorener Referenzpreis (Serie): Aufeinanderfolgende Aktionen laufen, der Referenzpreis wird erst neu berechnet, wenn das Produkt zu einem nicht reduzierten Preis zurückkehrt.

Exporte mit Zeitstempel

Zwei als Datenstrom erzeugte CSV-Exporte, benannt mit Domain und UTC-Zeitstempel:

  • Preishistorie: sämtliche erfassten Datensätze.
  • Anzeigeprotokoll: welcher Referenzpreis tatsächlich ausgeliefert wurde, wann und auf welcher Produktseite.

Konformitätsbericht, Exporte und Anzeigeprotokoll gehören zur Pro-Lizenz. Die Erfassung selbst wird nie eingeschränkt.

Preishistorie

Der Reiter Preishistorie zeigt die Datensätze Produkt für Produkt, mit Variante, Währung, regulärem Preis, Aktionspreis, effektivem Preis und Quelle des Datensatzes. Ist ein Referenzpreis eingefroren, werden Datum und Grund angezeigt.

Einfrier-Planer

Ihre erste Aktion legt den Referenzpreis der nächsten fest: Jeder Preis in den 30 Tagen vor einem Stichtag senkt den Rabatt, den Sie an diesem Tag ankündigen können. Der Planer rechnet rückwärts.

Wählen Sie einen Verkaufstermin aus der mitgelieferten Liste (Black Friday, Cyber Monday, Weihnachten, Winter- und Sommerschlussverkauf, Valentinstag, Mutter- und Vatertag) oder geben Sie ein eigenes Datum ein. Der Planer nennt das späteste Enddatum Ihrer letzten Aktion, damit der angestrebte Rabatt erhalten bleibt, sowie den Zeitraum, in dem jeder gestellte Preis das gesetzliche Fenster speist. Ein abonnierbarer Kalender bündelt alle Fristen. Pro-Funktion.

Import einer bestehenden Historie

Hat eine andere Erweiterung Ihre Preise bereits aufgezeichnet, sind diese Daten unersetzlich. Der Reiter Import analysiert die Struktur der Tabellen in Ihrer Datenbank, ohne sich auf den Namen der Erweiterung zu stützen, und erkennt jene mit Produktkennung, Preis und Datum, optional auch eine Variantenspalte. System-Tabellen von WooCommerce und Action Scheduler werden übersprungen.

Die Tabelle zeigt jede Kandidatin, die erkannten Spalten und die Zeilenzahl. Der Import ist idempotent: Duplikate und unbrauchbare Zeilen werden getrennt gezählt und verunreinigen Ihre Historie nicht. Pro-Funktion.

Lizenz

Der Reiter Lizenz zeigt den aktuellen Plan, den maskierten Schlüssel und das Datum der letzten Prüfung. Geben Sie den nach dem Kauf per E-Mail erhaltenen Schlüssel im Format DFWOM-PRO-XXXX-XXXX-XXXX-XXXX ein und klicken Sie auf Aktivieren.

Einmaliger Kauf, 12 Monate Updates, Rückerstattung innerhalb von 30 Tagen, unverschlüsselter Quellcode, ein Shop je Lizenz. Ist der Lizenzserver nicht erreichbar, behält das Plugin 7 Tage lang alle Funktionen und fällt danach auf die Free-Stufe zurück, ohne Ihren Shop je zu beschädigen. Die Erfassung der Historie endet nie, unabhängig vom Plan.

Was die Pro-Lizenz freischaltet

  • Anzeige bei allen Produkten mit erfasster Historie, nicht nur bei reduzierten
  • Eigene Hinweistexte
  • 30-Tage-Preisdiagramm
  • Verteidigungs-Dashboard, Konformitätsbericht und Anzeigeprotokoll
  • CSV-Exporte mit Zeitstempel
  • Einfrier-Planer
  • Import einer bestehenden Historie

Unabhängig von der Lizenz immer aktiv: die vollständige Erfassung der Historie, der Hinweis bei reduzierten Produkten und die Einsicht in die Historie im Backend.

Fehlerbehebung

Es erscheint kein Hinweis

Prüfen Sie der Reihe nach:

  1. Ist das Produkt tatsächlich reduziert? Standardmäßig erscheint der Hinweis nur bei reduzierten Produkten.
  2. Deckt die erfasste Historie das erforderliche Fenster ab? Bei einer frischen Installation lautet die Antwort meist nein, und das ist gewollt.
  3. Stehen das Produkt oder seine Kategorie in den Ausschlüssen?
  4. Meldet das Dashboard einen zu alten Schnappschuss? Dann sichern Sie den Cron ab.

Der Hinweis erscheint an unerwarteter Stelle

Stellen Sie die Position auf nach dem Preisblock in der Produktzusammenfassung um. Manche Themes überschreiben das Preis-Markup und schlucken die Einfügung direkt darunter.

Der letzte Schnappschuss ist älter als 48 Stunden

WP-Cron hängt vom Traffic ab. Richten Sie den oben gezeigten System-Cron ein oder prüfen Sie, ob die Konstante DISABLE_WP_CRON ohne Ersatz-Cron aktiviert ist.

Das Diagramm erscheint nicht

Das Diagramm gehört zur Pro-Lizenz und muss in den Einstellungen aktiviert werden. Prüfen Sie außerdem, ob die Produkthistorie genug Punkte der letzten 30 Tage enthält.

Der Import erkennt keine Tabelle

Die Erkennung ist strukturbasiert: Eine Kandidatin muss eine Spalte mit Produktkennung, eine dezimale Preisspalte und eine Datumsspalte enthalten. Native Tabellen von WooCommerce und Action Scheduler werden bewusst ausgeschlossen.

Häufige Fragen

Wird der Referenzpreis bei jeder neuen Aktion neu berechnet?

Nein, und das ist der am häufigsten missverstandene Punkt der Regel. Solange das Produkt nicht zu einem nicht reduzierten Preis zurückkehrt, bleibt der Referenzpreis der Preis vor der ersten Senkung der Serie.

Werden variable Produkte unterstützt?

Ja. Der Referenzpreis wird pro Variante berechnet, nicht auf Ebene des Elternprodukts, und der Hinweis aktualisiert sich beim Variantenwechsel.

Was geschieht bei der Deinstallation?

Einstellungen, Lizenz-Cache und dessen Tabelle werden entfernt. Preishistorie und Anzeigeprotokoll bleiben standardmäßig erhalten, da diese Daten nicht rekonstruierbar sind. Aktivieren Sie in den Einstellungen ausdrücklich die Löschoption, wenn Sie alles entfernen möchten.

Verlangsamt das Plugin den Shop?

Nein. Die Erfassung schreibt eine kleine Zeile je echter Preisänderung, die Anzeige liest einen kurzen indizierten Bereich mit Cache, und das Diagramm sind rund 3 KB nativer Code ohne jede externe Anfrage.

Wird Mehrwährung unterstützt?

Ja. Jeder Datensatz führt seine Währung mit, die Historie wird also nie nachträglich umgerechnet.

Changelog

1.0.0 – 10. August 2026

  • Erstveröffentlichung
  • Doppelte Erfassung: täglicher Schnappschuss mit Nachholen und ereignisbasierte Erfassung von Preisänderungen
  • Referenzpreis auf einem am Beginn der Preissenkung verankerten 30-Tage-Fenster
  • Regel der aufeinanderfolgenden Senkungen mit Einfrieren des Referenzpreises auf dem Preis vor der Serie
  • Eigener Hinweis für kürzlich eingeführte Produkte mit tatsächlicher Angebotsdauer
  • Einfrier-Planer und Fristenkalender
  • Verteidigungs-Dashboard, Konformitätsbericht, Exporte mit Zeitstempel und Anzeigeprotokoll
  • Strukturbasierter Import einer bestehenden Preishistorie
  • Referenz pro Variante, Datensätze in mehreren Währungen
  • Übersetzungen FR, EN, DE, ES, IT, Kompatibilität mit WPML und Polylang, HPOS-Kompatibilität
War diese Seite hilfreich?

Immer noch nicht weiter? Support kontaktieren