Über dieses Plugin
IDF QR-Codes löst zwei miteinander verwobene Aufgaben: Aus einer frei wählbaren URL wird ein QR-Code als SVG erzeugt, der sich problemlos drucken oder digital weiterverwenden lässt. Gleichzeitig wird die im QR-Code codierte Ziel-URL zur Laufzeit auf eine Landingpage, ein PDF oder eine externe Seite umgeleitet — änderbar, ohne dass der gedruckte Code neu erstellt werden muss.
So bleibt das Werbemittel gleich, die Weiterleitung ist jederzeit flexibel anpassbar. Jeder Scan wird mit Zeitstempel DSGVO-konform (ohne IP) protokolliert, sodass sich der Kampagnen-Erfolg ohne externes Tracking messen lässt.
Features
- Custom Post Type
idf_qr: Jeder QR-Code ist ein eigener Eintrag mit Titel, Beschreibung und Revisionen. - Zwei URLs pro Eintrag: QR-Ziel-URL (was der Code encodiert) und Weiterleitungs-URL (wohin geleitet wird). Die Weiterleitung lässt sich jederzeit ändern, ohne den gedruckten Code neu erstellen zu müssen.
- SVG-QR-Code-Generator: Vollständig server-seitig in PHP implementiert, ohne externe Abhängigkeiten. Unterstützt Byte-Mode, Versionen 1–10 und alle vier Fehlerkorrektur-Level (L/M/Q/H) mit penalty-basierter Maskenwahl.
- Live-Vorschau + Download: Im QR-Code-Editor steht eine Vorschau-Meta-Box mit direktem Download-Button. Der SVG-Dateiname entspricht dem Post-Slug.
- Farbsteuerung: Globale Standardfarben in den Einstellungen, pro QR-Code überschreibbar via WordPress-Color-Picker.
- Request-Interception + 302-Redirect: Das Plugin hängt sich früh in die WordPress-Request-Verarbeitung und leitet die codierte URL per 302 auf die Weiterleitungs-URL um.
- Scan-Log mit Zeitstempel: Jeder Scan wird in der Tabelle
{prefix}idf_qr_scansmit UTC-Zeitstempel, User-Agent und Referrer erfasst — ohne IP-Adressen, DSGVO-konform ohne zusätzliche Einwilligung. - Statistik im Editor: Meta-Box pro QR-Code mit Gesamt/Heute/7 Tage/30 Tage, 30-Tage-Balkendiagramm und Liste der letzten 20 Scans.
- Dashboard: Übersicht aller QR-Codes, Gesamt-Scan-Zahlen und Quick-Access zu Liste und Neuanlage.
- Einstellungen: Standard-Farben, Fehlerkorrektur-Level, Modulgröße, Quiet-Zone, Scan-Log-Aufbewahrung in Tagen.
- Hilfe- und Deinstallations-Seite: Nach IDF-Standard mit optionaler Komplett-Datenlöschung beim Deinstallieren.
- Master-Key-Anbindung: Non-blocking Dependency-Check und automatische Update-Registrierung beim IDF Master-Key.
- Automatische Bereinigung: Täglicher Cron löscht Scan-Log-Einträge gemäß der konfigurierten Aufbewahrungsdauer (Default: 365 Tage).
Changelog
v1.1.2 — 2026-04-30
Hinzugefuegt
- Self-Healing-Lookup zwischen Quell-Seite und QR-Code: Auch QR-Codes, die manuell ueber die CPT-Maske angelegt wurden (ohne
_idf_qr_source_post_id), werden in der "QR-Code"-Box auf der Quell-Seite und in der CPT-Spalte "Quell-Seite" jetzt korrekt erkannt — anhand der Weiterleitungs-URL. Beim ersten erfolgreichen Lookup wird die Verknuepfung als Meta nachgetragen, damit kuenftige Aufrufe den schnellen Pfad gehen. - Auto-Link beim Speichern eines QR-Codes: Zeigt die Weiterleitungs-URL auf eine Seite dieser Website und ist noch keine Verknuepfung gesetzt, wird
_idf_qr_source_post_idautomatisch geschrieben. - Neue Hilfsfunktion
idf_qr_codes_resolve_source_for_qr( int $qr_id ): intund Filteridf/qr-codes/resolve_source_for_qrfuer eigene Aufloesungs-Logik (z. B. externe Domains, die intern gemappt werden).
v1.1.1 — 2026-04-30
Geaendert
- Master-Key-Referenzen auf IDF Home / IDF Key-Server umgestellt: Bootstrap ruft
idf_home_register_plugin()stattidf_master_key_register_plugin(). Dependency-Checker prueftidf_home_register_plugin()undIDF_HOME_VERSIONund zeigt "IDF Home" in der Admin-Notice. Mindestversion: IDF Home 2.0.0. - README, ARCHITECTURE und Dependency-Checker-Doku auf neue Namen aktualisiert.
v1.1.0 — 2026-04-30
Hinzugefuegt
- Meta-Box "QR-Code" auf jedem oeffentlichen Post-Type (Seiten, Beitraege, eigene CPTs). Mit "QR-Code erzeugen"-Button legt sie einen verknuepften QR-Code an, der auf diese Seite weiterleitet.
- Inline-Editor fuer den codierten Pfad direkt aus der Source-Box (AJAX, Live-SVG-Update).
- Verknuepfung Quell-Seite zu QR-Code via Post-Meta
_idf_qr_source_post_id. Sidebar-Box im QR-Editor zeigt verknuepfte Seite, neue Spalte "Quell-Seite" in der CPT-Liste. - Link-Health-Check: taeglicher Cron prueft alle Weiterleitungs-URLs per HEAD-Request. Spalte "Status" in der CPT-Liste mit OK / Nicht erreichbar / Ungeprueft. On-Demand-Button pro Eintrag und Bulk-Aktion "Status pruefen".
- Endlosschleifen-Schutz: Speichert keinen Pfad, der mit der Pfad-Komponente der Weiterleitungs-URL identisch ist (nur bei gleicher Domain). Admin-Notice mit Loesungsvorschlag.
- Admin-Notice bei Permalink-Aenderung der Quell-Seite mit Hinweis auf den verknuepften QR-Code.
- Neue Hooks:
idf/qr-codes/source_post_types(Filter),idf/qr-codes/source_qr_created(Action),idf/qr-codes/health_check_url(Filter),idf/qr-codes/health_check_result(Action). - Neuer Cron
idf_qr_codes_daily_health_check, registriert bei Aktivierung.
Geaendert
- Admin-Assets (CSS/JS) werden zusaetzlich auf Editor-Screens oeffentlicher CPTs geladen, damit die Source-Box funktioniert.
v1.0.0
Hinzugefuegt
- Custom Post Type
idf_qrfuer QR-Code-Verwaltung. - Pro Eintrag zwei URLs: QR-Ziel-URL (was der Code encodiert) und Weiterleitungs-URL.
- Request-Interception auf
parse_requestmit 302-Weiterleitung und Scan-Logging. - Server-seitiger QR-Code-Generator (Byte-Mode, Versionen 1-10, alle EC-Level, Penalty-basierte Maskenwahl) mit SVG-Ausgabe.
- Meta-Box "QR-Code" im Editor mit Live-Vorschau und Download-Button (SVG).
- Farbsteuerung: globale Standardfarben in den Einstellungen, pro QR-Code ueberschreibbar via WP-Color-Picker.
- Scan-Log in eigener Tabelle
{prefix}idf_qr_scansmit Zeitstempel, User-Agent und Referrer (keine IP, DSGVO-konform). - Dashboard mit Gesamtzahlen, Statistik-Meta-Box pro QR-Code (Gesamt/Heute/7 Tage/30 Tage), 30-Tage-Balkendiagramm, Liste der letzten 20 Scans.
- Settings-Seite: Standard-Farben, EC-Level, Modulgroesse, Quiet-Zone, Scan-Log-Aufbewahrung.
- Hilfe-Seite und Deinstallations-Seite nach IDF-Standard.
- Master-Key-Anbindung (non-blocking) fuer automatische Updates.
- Taeglicher Cron zur Bereinigung alter Scan-Log-Eintraege.
- Custom-Spalten in der CPT-Liste: QR-Ziel, Weiterleitung, Scans.