Luzid Content Scheduler
Luzid Content Scheduler controls when a specific frontend block is visible — and can also output the next scheduled date(s) via shortcode.
This gives you two complementary ways to use a scheduler:
1) Show / hide a block (banner, alert, section, popup wrapper, …)
Add the generated CSS class luzid-cs-<slug> to the element. The plugin adds body classes and a tiny frontend helper so the block is only displayed while the schedule is active.
2) Display dates in the frontend Use the shortcode to print the next event (or a list of upcoming events) anywhere in your content.
Typical use cases:
- Visibility scheduling: show a maintenance banner only during a defined window, or show a seasonal notice with exceptions.
- Event announcements: print «Next event: …» on a page, including weekday + time.
- Lists of upcoming dates: output the next N dates of a program/club/course using
list="true"+count="N".
Core concepts:
- A scheduler becomes active when at least one rule matches (single dates/ranges or recurring rules).
- Exceptions override everything: if «now» is inside an exception range, the block is hidden even if other rules match.
- Event offset can shift the visibility window relative to the next computed event (e.g. show the block 4 days before the event, starting at a chosen time).
- The shortcode reads the same event logic and can output:
opt="long"(default): weekday + date + time (e.g. «Mittwoch, 25.03.2026 ab 09:00 Uhr»)opt="short": date only (e.g. «25.03.2026»)opt="date": weekday + date (no time)opt="time": time onlylist="true"+count="N": outputs the next N events (one per line, separated by<br />)text="true"optionally appends the event text (from the new «Event text (optional)» fields)sep="…"sets the separator between opt output and event text (usesep="<br>"for a line break)
timeoffset(minutes, can be negative) shifts the printed time without changing the schedule itself (useful for timezone-like adjustments or «doors open 30 min earlier»).- Optional
lang="de|en"forces the output language for the shortcode (empty = current UI language).
Features
- Setup: Name → automatic slug + CSS class.
- Single dates / date ranges («Termine»)
- From/To fields
- Optional time + prefix
ab/bis/um
- Recurring rules («Wiederholungen»)
- Weekly (weekday)
- Monthly (day of month)
- Weekday in month (e.g. 2nd Thursday)
- Each recurring rule can have its own valid-from/to range
- Exceptions («Ausnahmen»)
- Date or date range
- Overrides all other rules
- Event offset
- Show the block X days before the computed event (from a fixed start time)
- Hide the block X days after the computed event (to a fixed end time)
- Preview tab: generate a table of upcoming events including show time and shortcode output.
- Shortcode
- Base output:
[luzid_cs slug="my-scheduler" opt="short|date|time|long"] - List output: add
list="true"+count="N"(N > 0) to output the next N events (one per line, separated by<br>). - Optional event text: add
text="true"to append the event’s optional Event text. Usesep=" | "to define the separator between date/time and text. - Optional
timeoffset(minutes; can be negative) to shift the output time.
- Base output:
- Languages: German + English UI (flag switcher in the header).
Usage
Add the CSS class to your block
- Gutenberg: select block → «Advanced» → «Additional CSS class(es)» →
luzid-cs-<slug> - Elementor: widget → «Advanced» → «CSS Classes» →
luzid-cs-<slug> - Divi/others: module settings → «CSS Class» →
luzid-cs-<slug>
Shortcode output
Examples:
- Long (default):
[luzid_cs slug="wartung" opt="long"] - Date only:
[luzid_cs slug="wartung" opt="date"] - Time only:
[luzid_cs slug="wartung" opt="time"] - List (next 7):
[luzid_cs slug="wartung" opt="short" list="true" count="7"] - List + event text:
[luzid_cs slug="krimidinner" opt="short" list="true" count="5" text="true" sep=" | "] - Event text on new line:
[luzid_cs slug="krimidinner" opt="date" text="true" sep="<br>"]
CSS hooks (no default styling – add your own CSS if you want):
.luzid-cs(wrapper, plus.luzid-cs--single/.luzid-cs--list).luzid-cs-item(one event in list output).luzid-cs-opt(date/time part).luzid-cs-sep(separator).luzid-cs-text(optional event text)
License
This plugin is licensed under the GNU General Public License v2.0 or later.
All code in this plugin is GPLv2-or-later compatible.
Assets:
- Luzid Logo and Flag icons are SVG assets shipped with the plugin (assets/img/luzid-media-logo-plugins.svg | assets/img/ger.svg | assets/img/uk.svg).