Luzid Content Scheduler

Beschreibung

Luzid Content Scheduler steuert, wann ein bestimmter Frontend-Block sichtbar ist – und kann auch das/die nächste(n) geplante(n) Datum/Daten per Shortcode ausgeben.

Das gibt dir zwei sich ergänzende Möglichkeiten, einen Scheduler zu nutzen:

  1. Block ein-/ausblenden (Banner, Alert, Abschnitt, Popup-Wrapper, …)
    Füge die generierte CSS-Klasse luzid-cs-<slug> zum Element hinzu. Das Plugin fügt Body-Klassen und einen kleinen Frontend-Helper hinzu, sodass der Block nur angezeigt wird, solange der Zeitplan aktiv ist.

  2. Datum im Frontend anzeigen
    Verwende den Shortcode, um das nächste Event (oder eine Liste kommender Events) überall in deinem Content auszugeben.

Typische Anwendungsfälle

  • Wartungs-Banner: Zeige einen „Wir aktualisieren unsere Systeme“-Hinweis nur während geplanter Wartungsfenster.
  • Saisonaler Content: Zeige Feiertagsgrüße, Sonderangebote oder saisonale Menüs während bestimmter Zeiträume.
  • Event-Ankündigungen: Gib „Nächstes Event: Samstag, 15. März um 19:00 Uhr“ dynamisch auf jeder Seite aus.
  • Wiederkehrende Zeitpläne: Zeige „Happy Hour Angebote“ jeden Freitag von 17:00 bis 20:00 Uhr.
  • Mehrstufige Sichtbarkeit: Nutze Event-Klassen, um ein Popup 4 Tage vor einem Event, den vollständigen Content 2 Wochen vorher und einen Menüeintrag 11 Tage vorher anzuzeigen – alle unabhängig voneinander gesteuert.
  • Event-Kalender: Erzeuge eine Tabelle aller kommenden Events aus mehreren Schedulern.

Kernkonzepte

  • Ein Scheduler wird aktiv, wenn mindestens eine Regel zutrifft (einzelne Termine/Zeiträume oder Wiederholungsregeln).
  • Ausnahmen überschreiben alles: Wenn „jetzt“ in einem Ausnahme-Zeitraum liegt, wird der Block versteckt, auch wenn andere Regeln zutreffen.
  • Event-Klassen (neu in 1.4) ermöglichen mehrere unabhängige Sichtbarkeitsfenster mit unterschiedlichen Offsets – jedes erzeugt seine eigene CSS-Klasse.
  • Der Shortcode nutzt dieselbe Event-Logik und gibt formatierte Daten mit voller Kontrolle über Trennzeichen und Formatierung aus.

Funktionen

Zeitplanung

  • Einzelne Termine & Zeiträume: Definiere bestimmte Tage oder Zeiträume, an denen Content sichtbar sein soll.
  • Wiederholungsregeln: Wöchentlich (jeden Montag), Monatlich (jeden 15.), Wochentag im Monat (2. Donnerstag), Jährlich (14. Februar).
  • Ausnahmen: Überschreiben alle Regeln – Content bleibt während Ausnahme-Zeiträumen versteckt.
  • Event-Klassen: Erstelle mehrere CSS-Klassen pro Scheduler, jede mit unabhängigen Sichtbarkeits-Offsets.

Shortcode-Ausgabe

  • Flexible Datum/Uhrzeit-Formatierung: Wähle zwischen kurzen, mittleren, langen oder vollständigen Datumsformaten.
  • Trennzeichen: Steuere genau, was zwischen Datum, Uhrzeit und Text erscheint.
  • Listen: Gib mehrere kommende Events mit anpassbaren Trennzeichen aus.
  • Event-Tabelle: Erzeuge eine sortierbare Tabelle aller kommenden Events aus mehreren Schedulern.
  • Zeitverschiebung: Verschiebe die angezeigte Uhrzeit (z.B. „Einlass 30 Minuten vorher“).

Administration

  • Karten-basierte UI: Saubere, moderne Oberfläche zur Regelverwaltung.
  • Live-Vorschau: Sieh kommende Events und Sichtbarkeitsfenster sofort.
  • Zweisprachig: Volle deutsche und englische Unterstützung mit Ein-Klick-Sprachwechsel.

Nutzung

CSS-Klassen zu Blöcken hinzufügen

  • Gutenberg: Block auswählen „Erweitert“ „Zusätzliche CSS-Klasse(n)“ luzid-cs-<slug>
  • Elementor: Widget „Erweitert“ „CSS-Klassen“ luzid-cs-<slug>
  • Divi/andere: Modul-Einstellungen „CSS-Klasse“ luzid-cs-<slug>

Basis-Shortcode

[luzid_cs slug="your-scheduler"]

Ausgabe: Das nächste Event-Datum im Standard-Format.

Shortcode-Parameter

Parameter
Default
Description

slug
(required)
Scheduler slug

date
(empty)
Date format: short, medium, long, full

time
(empty)
Time format: auto, raw, prefix, range, range_long

list
false
Output as list: true or false

count
10
Number of events for lists (max 200)

text
false
Include event text: true or false

sep1
(space)
Separator between date and time

sep2
(space)
Separator between time and text

sep3
(empty)
Separator between list items

timeoffset
0
Time offset in minutes (can be negative)

lang
(current)
Force language: de or en

Datums-Formate

Value
Output Example

short
14.02.2026

medium
Sat, 14.02.2026

long
Saturday, 14.02.2026

full
Saturday, 14 February 2026

Zeit-Formate

Value
Output Example

(empty)
No time output

raw
18:00

prefix
from 18:00

range
18:00 to 20:00

range_long
from 18:00 to 20:00

auto
Intelligent format based on data

Shortcode-Beispiele

Einfache Datums-Ausgabe:
[luzid_cs slug=“wartung“ date=“long“]
Samstag, 15.03.2026

Datum mit Uhrzeit:
[luzid_cs slug=“event“ date=“long“ time=“auto“]
Samstag, 15.03.2026 von 18:00 bis 20:00 Uhr

Nur Uhrzeit-Ausgabe:
[luzid_cs slug=“event“ time=“raw“]
18:00

Mehrzeilige Ausgabe:
[luzid_cs slug=“event“ date=“long“ time=“auto“ text=“true“ sep1=“
“ sep2=“
„]
Samstag, 15.03.2026
von 18:00 bis 20:00 Uhr
Valentins-Dinner

Liste der nächsten 5 Events:
[luzid_cs slug=“konzert“ date=“long“ text=“true“ list=“true“ count=“5″ sep2=“
“ sep3=“

„]

Mit eigenen Trennzeichen:
[luzid_cs slug=“event“ date=“long“ time=“raw“ text=“true“ sep1=“ | “ sep2=“ – „]
Samstag, 15.03.2026 | 18:00 – Valentins-Dinner

Event-Tabellen-Shortcode

[luzid_cs_eventtable]

Gibt eine Tabelle aller kommenden Events aus Schedulern mit aktiviertem „In Event-Tabelle einbeziehen“ aus.

Parameter
Default
Description

cols
date_medium,time_auto,text
Columns (comma-separated)

count
30
Maximum number of events

headers
(automatic)
Custom column headers

noheaders
false
Hide table headers

class
(empty)
Additional CSS class

empty
„No events“
Text when no events found

order
asc
Sort order: asc or desc

Verfügbare Spalten:
date_short, date_medium, date_long, date_full, weekday_short, weekday_long, time_raw, time_auto, time_prefix, time_range, time_range_long, text, scheduler

Beispiel mit eigenen Spalten:
[luzid_cs_eventtable cols=“weekday_short,date_short,time_range,text“ count=“10″ headers=“Tag,Datum,Uhrzeit,Event“]

Event-Klassen (Neu in 1.4)

Event-Klassen ermöglichen dir, mehrere unabhängige Sichtbarkeitsfenster für einen einzelnen Scheduler zu erstellen. Jede Klasse hat ihre eigene CSS-Klasse und Offset-Einstellungen.

Beispiel-Konfiguration:

Class
CSS Class
Days Before
Use Case

Standard
.luzid-cs-dinner
14
Main content

popup
.luzid-cs-dinner-popup
4
Announcement popup

menu
.luzid-cs-dinner-menu
11
Navigation menu item

So kannst du steuern, wann verschiedene Elemente erscheinen – alle basierend auf demselben Event-Zeitplan.

CSS-Hooks

Shortcode-Ausgabe:
* .luzid-cs — Wrapper (plus .luzid-cs--single / .luzid-cs--list)
* .luzid-cs-item — Einzelnes Event in Liste
* .luzid-cs-date — Datums-Teil
* .luzid-cs-time — Zeit-Teil
* .luzid-cs-text — Event-Text
* .luzid-cs-sep / .luzid-cs-sep1 / .luzid-cs-sep2 — Trennzeichen

Event-Tabelle:
* .luzid-cs-eventtable — Tabellen-Wrapper
* .luzid-cs-eventtable__head / __body / __row / __cell

Body-Klassen (für bedingtes CSS):
* .luzid-cs-active-<slug> — Hinzugefügt wenn Scheduler aktiv ist
* .luzid-cs-active-<slug>-<classname> — Hinzugefügt wenn bestimmte Event-Klasse aktiv ist

Lizenz

Dieses Plugin ist lizenziert unter der GNU General Public License v2.0 oder später.

Der gesamte Code in diesem Plugin ist GPLv2-or-later kompatibel.

Assets:
* Luzid Logo und Flaggen-Icons sind SVG-Assets, die mit dem Plugin ausgeliefert werden (assets/img/).

Screenshots

Installation

  1. Lade den Plugin-Ordner in /wp-content/plugins/ hoch oder installiere über die WordPress Plugin-Verwaltung.
  2. Aktiviere Luzid Content Scheduler.
  3. Gehe zu WP Admin Luzid Content Scheduler.
  4. Erstelle einen Scheduler, definiere Regeln und speichere.
  5. Füge die generierte CSS-Klasse luzid-cs-<slug> zu deinem Frontend-Block hinzu.

FAQ

Wie werden mehrere Wiederholungsregeln kombiniert?

Sie werden mit ODER-Logik kombiniert: Wenn irgendeine Regel zutrifft, gilt der Scheduler als aktiv (außer eine Ausnahme greift).

Betreffen Ausnahmen auch das Frontend, oder nur die Vorschau?

Ausnahmen betreffen alles (Frontend-Sichtbarkeit, Berechnung des nächsten Events und Vorschau). Wenn „jetzt“ in einem Ausnahme-Zeitraum liegt, bleibt der Block versteckt.

Was ist der Unterschied zwischen Event-Offset (alt) und Event-Klassen (neu)?

Event-Klassen haben das alte Event-Offset-Feature in Version 1.4 ersetzt. Der wesentliche Unterschied: Du kannst jetzt mehrere Klassen mit unabhängigen Offsets erstellen, sodass verschiedene Inhalte zu unterschiedlichen Zeiten vor/nach einem Event erscheinen können.

Kann ich mehrere Event-Klassen für einen Block verwenden?

Jede Event-Klasse erzeugt eine separate CSS-Klasse. Du kannst nur eine Klasse pro Block verwenden, aber du kannst mehrere Blöcke haben, jeder mit einer anderen Event-Klasse.

Benötigt das Plugin ein bestimmtes Theme?

Nein. Es funktioniert mit jedem Theme/Pagebuilder, der das Setzen einer eigenen CSS-Klasse auf einem Block/Element erlaubt.

Kann ich nur die Uhrzeit ohne das Datum ausgeben?

Ja! Verwende [luzid_cs slug="dein-slug" time="raw"], um nur die Uhrzeit auszugeben. Lass den date-Parameter weg.

Wie erzeuge ich einen Zeilenumbruch zwischen Datum und Text?

Verwende sep2="<br>": [luzid_cs slug="event" date="long" text="true" sep2="<br>"]

Rezensionen

Zu diesem Plugin liegen noch keine Rezensionen vor.

Mitwirkende und Entwickler

„Luzid Content Scheduler“ ist Open-Source-Software. Folgende Menschen haben an diesem Plugin mitgewirkt:

Mitwirkende

„Luzid Content Scheduler“ wurde in 1 Sprache übersetzt. Danke an die Übersetzer für ihre Mitwirkung.

Übersetze „Luzid Content Scheduler“ in deine Sprache.

Interessiert an der Entwicklung?

Durchstöbere den Code, sieh dir das SVN-Repository an oder abonniere das Entwicklungsprotokoll per RSS.

Änderungsprotokoll

1.4.4

  • Fixed: List output with list="true" now works correctly again.
  • Fixed: Event Classes CSS generation now includes all custom classes (e.g., .luzid-cs-slug-menu), not just the standard class.
  • New: Date ranges for single dates — new „Date to“ field allows multi-day events.
  • Improved: Shortcode text="true" now outputs only the event text without automatic date fallback.
  • Improved: Panel description updated to explain date range functionality.

1.4.2

  • Fixed: Version number display in admin header.
  • Verbessert: Event-Klassen-UI mit Kopier-Button für CSS-Klassen und einheitlichem Icon-Styling.

1.4.1

  • Behoben: WordPress Plugin Check Escaping-Warnungen für Event-Klassen-Panel.

1.4.0

  • Neu: Event-Klassen — Ersetzen einzelnen Event-Offset durch unbegrenzte benannte Klassen, jede mit unabhängigen Sichtbarkeits-Offsets.
  • Neu: Jede Event-Klasse erzeugt ihre eigene CSS-Klasse (luzid-cs-<slug>-<classname>).
  • Neu: Live-Vorschau der Sichtbarkeitsfenster pro Klasse.
  • Neu: Standard-Klasse (nicht löschbar) behält Abwärtskompatibilität.
  • Geändert: Tab umbenannt von „Event-Offset“ zu „Event-Klassen“.
  • Verbessert: Karten-basierte UI konsistent mit anderen Tabs.
  • Migration: Bestehende Event-Offset-Einstellungen werden automatisch in die neue Event-Klassen-Struktur konvertiert.

1.3.12

  • Behoben: Shortcode gibt jetzt genau das aus, was angegeben ist — keine versteckten Standards.
  • Behoben: date-Parameter ist standardmäßig leer (nicht „long“). Nur wenn weder date noch time gesetzt sind, wird date="long" als Fallback verwendet.
  • Behoben: Bei Verwendung von nur time="raw" wird jetzt korrekt nur die Zeit ausgegeben, nicht Datum + Zeit.

1.3.11

  • Behoben: Auto-Padding von Trennzeichen entfernt. &nbsp; gibt jetzt genau ein geschütztes Leerzeichen aus.

1.3.10

  • Behoben: Einzelnes Leerzeichen als Trennzeichen — WordPress trimmt sep1=" ", jetzt wird Standard-Fallback verwendet.

1.3.9

  • Neu: Trennzeichen-System überarbeitetsep ersetzt durch sep1, sep2, sep3 für präzise Kontrolle.
  • Neu: sep1 steuert Trennzeichen zwischen Datum und Zeit.
  • Neu: sep2 steuert Trennzeichen zwischen Zeit und Text (oder Datum und Text wenn keine Zeit).
  • Neu: sep3 steuert Trennzeichen zwischen Listenelementen.
  • Geändert: time-Parameter ist jetzt standardmäßig leer (keine Zeitausgabe außer wenn explizit angefordert).
  • Breaking: Alter sep-Parameter entfernt. Verwende stattdessen sep1/sep2/sep3.

1.3.8

  • Behoben: Vorschau-Tabelle zeigt jetzt den tatsächlich gespeicherten Event-Text pro Datum.

1.3.7

  • Behoben: Jährliche Wiederholungsberechnung für Events über Jahresgrenzen hinweg.

1.3.6

  • Neu: [luzid_cs_eventtable]-Shortcode für tabellarische Event-Ausgabe.
  • Neu: „In Event-Tabelle einbeziehen“-Checkbox pro Scheduler.
  • Neu: Anpassbare Spalten, Header und Sortierung für Event-Tabellen.

1.3.5

  • Verbessert: Karten-basiertes Layout über alle Tabs vereinheitlicht.

1.3.4

  • Neu: Dual-Präfix-System für Termine-Tab (CSS-Klassen-Präfix-Optionen).

1.3.0

  • Neu: „Zeit bis“-Feld für Zeiträume (z.B. 18:00 – 20:00) in einzelnen Terminen und Wiederholungsregeln.
  • Neu: Jährlicher Wiederholungstyp (z.B. jeden 14. Februar um 16:00 Uhr).
  • Neu: Karten-basiertes Layout für Termine- und Wiederholungen-Tabs.
  • Geändert: Shortcode umbenannt von [lz-cs] zu [luzid_cs] für WordPress.org-Konformität.
  • Geändert: CSS-Klassen umbenannt von lz-cs-* zu luzid-cs-*.

1.2.9

  • Geändert: Listen-Wrapper von <span> zu <div> für bessere HTML-Struktur.

1.2.7

  • Fix: Verhindere „Phantom“-Events aus unvollständigen Wiederholungsregeln.
  • Neu: Vorschau-Tabelle zeigt Event-Quelle (Einzeln vs. Wiederkehrend).

1.2.6

  • Neu: Shortcode-Ausgabe in gestylte span-Klassen gewrappt.
  • Verbessert: sep-Parameter kann <br> für Zeilenumbrüche ausgeben.

1.2.5

  • Fix: Trennzeichen-Abstände werden korrekt beibehalten.
  • Verbesserung: Einzelne Termine chronologisch sortiert.
  • Neu: Optionaler Event-Text für Wiederholungsregeln.

1.2.3

  • Hinzugefügt: Optionales Event-Text-Feld für einzelne Termine.
  • Geändert: Shortcode unterstützt list, count, text und sep Parameter.

1.2.0

  • Erstveröffentlichung.