Luzid Content Scheduler
Luzid Content Scheduler
Description
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).
Installation
- Upload the plugin folder to
/wp-content/plugins/or install it via the WordPress Plugins screen. - Activate Luzid Content Scheduler.
- Go to WP Admin Luzid Content Scheduler.
- Create a scheduler, define rules, and save.
- Add the generated CSS class
luzid-cs-<slug>to your frontend block.
Faq
They are combined with OR-logic: if any rule matches, the scheduler is considered active (unless an exception matches).
Exceptions affect everything (frontend visibility, next event calculation, and preview). If “now” is inside an exception range, the block stays hidden.
No. It works with any theme/page builder that lets you set a custom CSS class on a block/element.
Reviews
Changelog
1.2.2
- Initial WordPress.org release.
- Shortcode:
[luzid_cs slug="..." opt="long"] - CSS class:
luzid-cs-<slug> - Body class:
luzid-cs-active-<slug> - Full WordPress coding standards compliance.