Über dieses Plugin

IDF Opening Hours verwaltet und zeigt Öffnungszeiten für WordPress-Websites an. Das Plugin unterstützt mehrere Öffnungszeiten-Sets (z.B. Standard-Sprechzeiten, Notambulanz), eine gestaltbare Zeiten-Anzeige als Fließtext, Zeilen, mit Umbruch oder als Tabelle, eine intelligente Status-Anzeige mit Primär-/Alternativ-Logik und konfigurierbaren Icons, automatische Feiertags-Erkennung über eine API und den Import von Öffnungszeiten aus Google Business Profilen.

Features

  • Gestaltbare Zeiten-Anzeige: Öffnungszeiten erscheinen als Fließtext, eine Zeile je Tag, mit Umbruch nach dem Wochentag oder als Tabelle. Geschlossene Tage lassen sich ausblenden oder mit eigenem Text wie „Ruhetag“ zeigen, gleiche Zeiten zu „Montag bis Freitag“ zusammenfassen und Wochentage abkürzen. Mit Vorschau im Admin.
  • Je Einbindung anpassbar: Jede Einstellung der Zeiten-Anzeige gilt auch als Shortcode-Attribut, etwa kompakt im Footer und als Tabelle auf der Kontaktseite, ohne ein Set doppelt zu pflegen.
  • Intelligente Status-Anzeige: Der Shortcode [idf_opening_status] prüft automatisch das primäre Set, dann ein alternatives Set (z.B. Notambulanz) und zeigt den passenden, konfigurierbaren Text an.
  • Konfigurierbare Icons mit Live-Vorschau: Jeder Status (Geöffnet, Alternative, Geschlossen) kann ein eigenes Icon erhalten (Font Awesome, Dashicons, Emojis oder SVG). Die Eingabe wird im Admin sofort als Vorschau gerendert.
  • CSS-Klassen für eigenes Styling: Wiederverwendbare Klassen wie .idf-oh-smart-status-open, .idf-oh-day und .idf-oh-times, dazu je Set eine eigene Klasse wie .idf-oh-set-standard, ermöglichen individuelles Design.
  • Cache-sichere Anzeige: Der Status wird per REST API live geladen, kompatibel mit WP Rocket, LiteSpeed Cache, W3 Total Cache und anderen Page-Cache-Plugins.
  • Konfigurierbare Texte: Texte für „Geöffnet“, „Alternative verfügbar“ und „Geschlossen“ frei editierbar im Admin unter Einstellungen → Status-Anzeige.
  • Mehrere Öffnungszeiten-Sets: Beliebig viele Sets anlegen und per Shortcode einbinden (z.B. Standard-Sprechzeiten, Notambulanz).
  • Feiertags-API: Automatischer Abruf deutscher, österreichischer und schweizer Feiertage über Nager.Date (kostenlos, kein API-Key). Optional mit Bundesland-Filter.
  • Manuelle Feiertage: Ergänzend oder alternativ zur API können Feiertage manuell gepflegt werden (einmalig oder jährlich wiederkehrend).
  • Google Places Import: Öffnungszeiten einmalig aus einem Google Business Profil importieren.
  • Migration: Vorhandene Daten aus v1.0.0 werden automatisch übernommen.

Changelog

v2.4.0

Hinzugefügt

  • Einstellungen → Zeiten-Anzeige mit Vorschau: [idf_opening_hours] als Fließtext, eine Zeile je Tag, Wochentag mit Umbruch oder Tabelle.
  • Geschlossene Tage lassen sich ausblenden oder mit eigenem Text zeigen, etwa „Ruhetag".
  • Wahlweise jeder Tag einzeln, Wochentage abgekürzt („Mo - Fr"), kurze Zeitangabe („08:30 - 12:00 Uhr"), Wochentag fett.
  • Jede dieser Einstellungen auch als Shortcode-Attribut, etwa darstellung="tabelle", nur für diese Einbindung.
  • CSS-Klassen je Set (idf-oh-set-{slug}, auch an [idf_current_status]), je Eintrag, Wochentag und Zeiten.

Geändert

  • Fließtext ohne Komma zwischen Wochentag und Zeit, mit Punkt am Ende; zwei Tage heißen „Samstag und Sonntag", ab drei „Montag bis Freitag".
  • Ein Set ganz ohne Zeiten gibt nichts mehr aus, auch keinen leeren Container.

Behoben

  • Stand ein geschlossener Tag nicht am Ende der Woche, erschien „geschlossen.," mitten im Text.

v2.3.1

Behoben

  • Der Dependency-Checker heisst jetzt IDF_OH_Dependency_Checker. Der geteilte Klassenname IDF_Dependency_Checker, den fast alle IDF-Plugins mitbringen, wird nicht mehr angefasst. Die eigene Kopie stand hinter einem class_exists-Guard mit return, der unter OPcache nie laeuft: die Klasse landet vor der ersten Codezeile in der Klassentabelle. Sobald ein zweites IDF-Plugin dieselbe Klasse deklarierte, starb jeder Request mit "Cannot declare class IDF_Dependency_Checker" - auf k1.de hat das am 03.09.2026 zweimal die ganze Website lahmgelegt, weil die Aktivierung durchlief und der Fehler erst im Folge-Request entstand. Die Installationsreihenfolge der IDF-Plugins ist damit ohne Bedeutung.

v2.3.0

Geändert

  • Admin-Menü folgt der IDF-Menükonvention: Läuft IDF Home, hängt Opening Hours als ein einzelner Eintrag darunter, sonst bleibt das eigene Top-Level-Menü mit Icon und Position wie bisher. Öffnungszeiten, Einstellungen, Hilfe und Uninstall sind jetzt Reiter statt vier Untermenüpunkte. Alle bisherigen URLs funktionieren unverändert.
  • Berechtigungsprüfung je Seite kommt aus der neuen seiten()-Methode, die auch die Reiterleiste versorgt. Die vier Seiten-Callbacks prüfen die Berechtigung jetzt selbst, jeweils vor der Verarbeitung von Formulardaten; bisher verließen sie sich allein darauf, dass WordPress den Menüpunkt ausblendet.

v2.2.1

Geändert

  • Auf Git-basiertes Deployment migriert (idf-ci Workflow, readme.txt + CHANGELOG.md als Pflichtdateien).

v2.2.0

Hinzugefügt

  • Master-Key-Anbindung (Dependency-Checker v1.5.1 + Update-Registrierung).

Behoben

  • Status-Anzeige zeigte immer „Derzeit geschlossen" auf deutschsprachigen Sites (locale-abhängiges wp_date('l') durch numerisches wp_date('N') ersetzt).

Geändert

  • Includes auf plugins_loaded:15 verschoben.
  • Plugin-Header Requires at least: 6.0, Requires PHP: 8.0 ergänzt.

v2.1.4

Behoben

  • Font Awesome Icons im Frontend nicht sichtbar (nach AJAX-Injection wird FontAwesome.dom.i2svg() aufgerufen).
  • [idf_opening_hours] gibt bei leerem Set keinen Text mehr aus.
  • Set-Label nicht mehr in Fettschrift vor den Zeiten.

Geändert

  • Admin-UI „Status-Anzeige" umstrukturiert (3 Sektionen: Primär, Alternativ, Geschlossen).

v2.1.3

Behoben

  • Icon-Felder wurden beim Speichern geleert (sanitize_text_field() entfernte HTML-Tags). Korrigiert auf wp_kses() mit erlaubten Icon-Tags.

v2.1.2

Hinzugefügt

  • Live-Vorschau für Icon-Felder im Admin.
  • Font Awesome Hilfetext unter jedem Icon-Feld.

v2.1.1

Hinzugefügt

  • Icon-Felder für alle drei Status-Texte (Geöffnet, Alternative, Geschlossen).
  • CSS-Klassen für eigenes Styling.

v2.1.0

Hinzugefügt

  • Shortcode [idf_opening_status] mit Smart-Status-Logik (Primär/Alternativ).
  • Admin-Tab „Status-Anzeige" mit 3 konfigurierbaren Texten und Platzhalter {label}.
  • Cache-sichere Anzeige per REST API.
  • Option idf_oh_status_display.

v2.0.0

Geändert

  • Komplett-Refactoring auf IDF-Standard (Naming, Menü, Sicherheit).

Hinzugefügt

  • Mehrere Öffnungszeiten-Sets.
  • Feiertags-API (Nager.Date) mit Cron + manuelle Daten.
  • Google Places API Import.
  • Eigenes Top-Level-Menü.
  • Automatische Migration der v1.0.0-Daten.
  • WordPress-native Admin-UI.
  • wp_date() statt date_default_timezone_set().

v1.0.0

Hinzugefügt

  • Initiale Version mit Öffnungszeiten pro Wochentag (ein Set).
  • Feiertage als Komma-separierte MM-DD-Liste.
  • Shortcodes [ideenfabrik_opening_hours], [ideenfabrik_current_status].

0 Comments

Info
  • Version: 2.4.0
  • Version vom: 14. September 2026
  • WordPress-Version: 6.0
  • Getestet bis WP-Version: 6.5
  • PHP-Version: 8.0
  • Kompatible Themes: Alle
  • Erforderliche Plugins: IDF Master-Key
  • Mitwirkende: Joerg Martin