[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$flTxKzJVBvzg0CiSn9zDvvk7CCcJHenyEUM8L3PHHbzA":3},{"slug":4,"name":5,"version":6,"author":7,"author_profile":8,"description":9,"short_description":10,"active_installs":11,"downloaded":12,"rating":11,"num_ratings":13,"last_updated":14,"tested_up_to":15,"requires_at_least":16,"requires_php":17,"tags":18,"homepage":21,"download_link":22,"security_score":23,"vuln_count":24,"unpatched_count":24,"last_vuln_date":25,"fetched_at":26,"vulnerabilities":27,"developer":28,"crawl_stats":25,"alternatives":35,"analysis":131,"fingerprints":172},"scheduled-contents-shortcode","Scheduled Contents Shortcode","1.0.3","Toro_Unit (Hiroshi Urabe)","https:\u002F\u002Fprofiles.wordpress.org\u002Ftoro_unit\u002F","\u003Cp>Adds shortcode [schedule]. Simple way to show and hide content by datetime.\u003C\u002Fp>\n\u003Cpre>\u003Ccode>[schedule from=\"2017-08-10T15:00\" to=\"2020-08-11T23:00\"] your contents. [\u002Fschedule]\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch4>Requirement\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>PHP 5.5+\u003C\u002Fli>\n\u003C\u002Ful>\n","Adds shortcode [schedule]. Simple way to show and hide content by datetime.",100,2519,3,"2017-08-16T15:16:00.000Z","4.8.28","4.7","",[19,20],"schedule","shortcode","https:\u002F\u002Fgithub.com\u002FLENS-mgn\u002Fscheduled-contents-shortcode","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fscheduled-contents-shortcode.1.0.3.zip",85,0,null,"2026-03-15T15:16:48.613Z",[],{"slug":29,"display_name":7,"profile_url":8,"plugin_count":30,"total_installs":31,"avg_security_score":32,"avg_patch_time_days":33,"trust_score":23,"computed_at":34},"toro_unit",23,215980,87,30,"2026-04-05T09:13:22.788Z",[36,59,77,96,113],{"slug":37,"name":38,"version":39,"author":40,"author_profile":41,"description":42,"short_description":43,"active_installs":44,"downloaded":45,"rating":11,"num_ratings":13,"last_updated":46,"tested_up_to":47,"requires_at_least":48,"requires_php":49,"tags":50,"homepage":54,"download_link":55,"security_score":56,"vuln_count":57,"unpatched_count":24,"last_vuln_date":58,"fetched_at":26},"display-during-conditional-shortcode","Display During Conditional Shortcode","2.0","Gabriel Serafini","https:\u002F\u002Fprofiles.wordpress.org\u002Fgserafini\u002F","\u003Cp>Display content conditionally based on a schedule. Choose from three scheduling modes:\u003C\u002Fp>\n\u003Col>\n\u003Cli>\u003Cstrong>Date Range\u003C\u002Fstrong> – Show content between specific start and end dates\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Recurring\u003C\u002Fstrong> – Show content on specific days of the week during a time window\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Custom\u003C\u002Fstrong> – Use PHP strtotime expressions for flexible scheduling\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch4>Gutenberg Block\u003C\u002Fh4>\n\u003Cp>The \u003Cstrong>Display During\u003C\u002Fstrong> block provides a visual editor with:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Sidebar controls for all three scheduling modes\u003C\u002Fli>\n\u003Cli>Date\u002Ftime pickers for start and end dates\u003C\u002Fli>\n\u003Cli>Day-of-week checkboxes for recurring schedules\u003C\u002Fli>\n\u003Cli>Live status indicator (active\u002Finactive)\u003C\u002Fli>\n\u003Cli>Optional fallback message when content is hidden\u003C\u002Fli>\n\u003Cli>Copy as Shortcode toolbar button\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Shortcodes\u003C\u002Fh4>\n\u003Cp>The \u003Ccode>[display_during]\u003C\u002Fcode> shortcode works in the Classic Editor and anywhere shortcodes are supported.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Date range:\u003C\u002Fstrong>\u003Cbr \u002F>\n    [display_during start_day_time=”June 1, 2026 8:00 am” end_day_time=”December 31, 2026 11:59 pm”]Content here[\u002Fdisplay_during]\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Recurring schedule (new in 2.0):\u003C\u002Fstrong>\u003Cbr \u002F>\n    [display_during days=”mon,wed,fri” start_time=”09:00″ end_time=”17:00″]Office hours content[\u002Fdisplay_during]\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Custom strtotime:\u003C\u002Fstrong>\u003Cbr \u002F>\n    [display_during start_day_time=”Sun 8:00 am” end_day_time=”Mon 8:00 pm”]Weekend content[\u002Fdisplay_during]\u003C\u002Fp>\n\u003Cp>\u003Cstrong>With fallback message:\u003C\u002Fstrong>\u003Cbr \u002F>\n    [display_during end_day_time=”June 1, 2026″]Register now![display_during_message]Registration has closed.[\u002Fdisplay_during_message][\u002Fdisplay_during]\u003C\u002Fp>\n\u003Ch4>Shortcode Parameters\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Ccode>start_day_time\u003C\u002Fcode> – When to start showing content (strtotime string or date)\u003C\u002Fli>\n\u003Cli>\u003Ccode>end_day_time\u003C\u002Fcode> – When to stop showing content\u003C\u002Fli>\n\u003Cli>\u003Ccode>days\u003C\u002Fcode> – Comma-separated days for recurring mode (mon,tue,wed,thu,fri,sat,sun)\u003C\u002Fli>\n\u003Cli>\u003Ccode>start_time\u003C\u002Fcode> – Start time for recurring mode (HH:MM format)\u003C\u002Fli>\n\u003Cli>\u003Ccode>end_time\u003C\u002Fcode> – End time for recurring mode (HH:MM format)\u003C\u002Fli>\n\u003Cli>\u003Ccode>timezone_location\u003C\u002Fcode> – PHP timezone identifier (defaults to site timezone)\u003C\u002Fli>\n\u003Cli>\u003Ccode>message\u003C\u002Fcode> – Plain text fallback message (legacy; use nested shortcode for rich content)\u003C\u002Fli>\n\u003C\u002Ful>\n","Show or hide content based on date ranges, recurring day\u002Ftime schedules, or custom strtotime expressions. Includes a Gutenberg block and shortcode.",200,4538,"2026-02-07T00:49:00.000Z","6.9.4","6.1","7.0",[51,52,53,19,20],"block","conditional","display","https:\u002F\u002Fsharethepractice.org\u002Fplugins\u002Fdisplay-during-conditional-shortcode\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fdisplay-during-conditional-shortcode.2.0.zip",99,1,"2026-02-17 15:37:04",{"slug":60,"name":61,"version":62,"author":63,"author_profile":64,"description":65,"short_description":66,"active_installs":67,"downloaded":68,"rating":24,"num_ratings":24,"last_updated":69,"tested_up_to":47,"requires_at_least":17,"requires_php":17,"tags":70,"homepage":74,"download_link":75,"security_score":56,"vuln_count":57,"unpatched_count":24,"last_vuln_date":76,"fetched_at":26},"simple-certain-time-to-show-content","Simple Certain Time to Show Content","1.3.1","Mitchell Bennis","https:\u002F\u002Fprofiles.wordpress.org\u002Feemitch\u002F","\u003Cp>At a time of your choosing, show or hide anything enclosed within these shortcode tags:\u003C\u002Fp>\n\u003Cp>[eeSCTSC]Your content here[\u002FeeSCTSC]\u003C\u002Fp>\n\u003Cp>Can be used on a Page, Post in a Text Widget, or in a theme file with do_shortcode().\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Schedule the days of the week to show content, then:\u003C\u002Fli>\n\u003Cli>Schedule the time of the day to show or hide what’s inside the tags.\u003C\u002Fli>\n\u003Cli>Set the proper timezone to show the content.\u003C\u002Fli>\n\u003Cli>Optionally show alternate content (text or HTML) when the main content is not showing.\u003C\u002Fli>\n\u003C\u002Ful>\n","At a time of your choosing, simply show or hide anything enclosed within a set of shortcodes.",20,2243,"2025-12-25T22:15:00.000Z",[71,72,73],"content-scheduler","shortcode-scheduler","text-widget-scheduler","https:\u002F\u002Felementengage.com\u002Fsimple-certain-time-to-show-content\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fsimple-certain-time-to-show-content.1.3.1.zip","2025-02-04 00:00:00",{"slug":78,"name":79,"version":80,"author":81,"author_profile":82,"description":83,"short_description":84,"active_installs":85,"downloaded":86,"rating":24,"num_ratings":24,"last_updated":17,"tested_up_to":87,"requires_at_least":88,"requires_php":17,"tags":89,"homepage":93,"download_link":94,"security_score":11,"vuln_count":24,"unpatched_count":24,"last_vuln_date":25,"fetched_at":95},"shdlr-integrate","Shdlr Integrate","1.0","Aditya Jain","https:\u002F\u002Fprofiles.wordpress.org\u002Fadi3890\u002F","\u003Cp>This plugin will help conference owners to integrate conference schedules generated using shdlr.com into their wordpress sites.\u003Cbr \u002F>\nThe plugin works for both free, trial accounts and pro accounts of \u003Ca href=\"http:\u002F\u002Fshdlr.com\" rel=\"nofollow ugc\">Shdlr\u003C\u002Fa>.\u003C\u002Fp>\n\u003Cp>The integration is done via shortcode. The admin section of the plugin provides an interface to create the shortcode needed.\u003C\u002Fp>\n\u003Cp>NOTE: This plugin communicates with \u003Ca href=\"http:\u002F\u002Fshdlr.com\" rel=\"nofollow ugc\">shdlr.com\u003C\u002Fa> site to validate token you obtain from shdlr.com. The shortcode you place in your post integrates schedule from shdlr.com for your conference in your post via an iframe.\u003C\u002Fp>\n","Integrates schedule from shdlr.com into your wordpress site",10,1511,"3.6.1","3.4",[90,91,19,92,20],"conference","integrate","shdlr","http:\u002F\u002Fwww.shdlr.com\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fshdlr-integrate.1.0.zip","2026-03-15T14:44:11.924Z",{"slug":97,"name":98,"version":99,"author":100,"author_profile":101,"description":102,"short_description":103,"active_installs":85,"downloaded":104,"rating":11,"num_ratings":105,"last_updated":106,"tested_up_to":107,"requires_at_least":108,"requires_php":17,"tags":109,"homepage":111,"download_link":112,"security_score":23,"vuln_count":24,"unpatched_count":24,"last_vuln_date":25,"fetched_at":26},"time-lord","Time Lord","1.2","Giorgos Sarigiannidis","https:\u002F\u002Fprofiles.wordpress.org\u002Fgsarig\u002F","\u003Cp>Time Lord is a plugin which allows you to schedule the publication of part of your content on a set date. It can also calculate age based on a set year in the past or the estimated time if the year is set in the future.\u003C\u002Fp>\n\u003Cp>You can use it in posts, pages or any other content type via the \u003Ccode>[timelord]\u003C\u002Fcode> shordcode. Here are some common examples, supposing that present day is on April 2015:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ccode>[timelord from=\"2016-01\"]SOME CONTENT[\u002Ftimelord]\u003C\u002Fcode> would output “SOME CONTENT” only when January 2016 comes. \u003C\u002Fli>\n\u003Cli>\u003Ccode>[timelord to=\"2016-01\"]SOME CONTENT[\u002Ftimelord]\u003C\u002Fcode> would output “SOME CONTENT” until January 2016 and then it would remove it. \u003C\u002Fli>\n\u003Cli>\u003Ccode>[timelord from=\"2015-04-01\" to=\"2016-04-01\" every=\"1 day\"]SOME CONTENT[\u002Ftimelord]\u003C\u002Fcode> would output “SOME CONTENT” every other day until April 2016. \u003C\u002Fli>\n\u003Cli>\u003Ccode>[timelord from=\"2015-04-01\" to=\"2016-04-01\" every=\"Monday\"]SOME CONTENT[\u002Ftimelord]\u003C\u002Fcode> would output “SOME CONTENT” every Monday until April 2016. \u003C\u002Fli>\n\u003Cli>\u003Ccode>[timelord to=\"2014-01\" del=\"yes\"]SOME CONTENT[\u002Ftimelord]\u003C\u002Fcode> would output \u003Ccode>\u003Cdel>SOME CONTENT\u003C\u002Fdel>\u003C\u002Fcode> (check screenshot for an example of what the user would actually see in the frontend). \u003C\u002Fli>\n\u003Cli>\u003Ccode>[timelord from=\"2015-01\" to=\"2016-01\"]SOME CONTENT[\u002Ftimelord]\u003C\u002Fcode> would output “SOME CONTENT” from January 2015 to January 2016.\u003C\u002Fli>\n\u003Cli>\u003Ccode>[timelord mode=\"hide\" from=\"2015-01\" to=\"2016-01\"]SOME CONTENT[\u002Ftimelord]\u003C\u002Fcode> would output “SOME CONTENT” every other time except from January 2015 to January 2016.\u003C\u002Fli>\n\u003Cli>\u003Ccode>[timelord year=\"1980\"]\u003C\u002Fcode> would output “35”.\u003C\u002Fli>\n\u003Cli>\u003Ccode>[timelord year=\"1980\" ordinal=\"yes\"]\u003C\u002Fcode> would output “35th”.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Ca href=\"http:\u002F\u002Fdemos.gsarigiannidis.gr\u002Ftime-lord\u002F\" title=\"Time Lord Demo\" rel=\"nofollow ugc\">View the demo\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch4>Features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Allows you to show or hide content at a given timeframe.\u003C\u002Fli>\n\u003Cli>Supports recurring display of the output at given intervals (e.g. every hour, every day, every month etc.).\u003C\u002Fli>\n\u003Cli>Allows you to wrap your content in the \u003Ccode>\u003Cdel>\u003C\u002Fdel>\u003C\u002Fcode> tag instead of removing it when expires. \u003C\u002Fli>\n\u003Cli>It can display an alternate message when the actual content is not supposed to be shown. \u003C\u002Fli>\n\u003Cli>It can output the time remaining until the content will be up or down. \u003C\u002Fli>\n\u003Cli>It can calculate age and even output it with an ordinal suffix. \u003C\u002Fli>\n\u003Cli>You can use it anywhere a shortcode would go. On posts, pages, custom posts. \u003C\u002Fli>\n\u003Cli>You can add as many shortcodes as you like in a single post.\u003C\u002Fli>\n\u003C\u002Ful>\n","Make modifications on your content based on time parameters. Show or hide part of a post at a given point in the future, calculate age and more.",2837,2,"2023-11-05T16:47:00.000Z","6.4.8","4.0",[19,20,110],"time","http:\u002F\u002Fwordpress.org\u002Fplugins\u002Ftime-lord\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Ftime-lord.1.2.zip",{"slug":114,"name":115,"version":116,"author":117,"author_profile":118,"description":119,"short_description":120,"active_installs":24,"downloaded":121,"rating":24,"num_ratings":24,"last_updated":122,"tested_up_to":47,"requires_at_least":123,"requires_php":124,"tags":125,"homepage":17,"download_link":130,"security_score":11,"vuln_count":24,"unpatched_count":24,"last_vuln_date":25,"fetched_at":26},"luzid-content-scheduler","Luzid Content Scheduler","1.4.3","luzidmedia","https:\u002F\u002Fprofiles.wordpress.org\u002Fluzidmedia\u002F","\u003Cp>\u003Cstrong>Luzid Content Scheduler\u003C\u002Fstrong> controls \u003Cem>when\u003C\u002Fem> a specific frontend block is visible — and can also \u003Cem>output\u003C\u002Fem> the next scheduled date(s) via shortcode.\u003C\u002Fp>\n\u003Cp>This gives you two complementary ways to use a scheduler:\u003C\u002Fp>\n\u003Col>\n\u003Cli>\n\u003Cp>\u003Cstrong>Show \u002F hide a block\u003C\u002Fstrong> (banner, alert, section, popup wrapper, …)\u003Cbr \u002F>\nAdd the generated CSS class \u003Ccode>luzid-cs-\u003Cslug>\u003C\u002Fcode> to the element. The plugin adds body classes and a tiny frontend helper so the block is only displayed while the schedule is active.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Display dates in the frontend\u003C\u002Fstrong>\u003Cbr \u002F>\nUse the shortcode to print the next event (or a list of upcoming events) anywhere in your content.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch4>Typical Use Cases\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>Maintenance banners\u003C\u002Fstrong>: Show a “We’re updating our systems” notice only during scheduled maintenance windows.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Seasonal content\u003C\u002Fstrong>: Display holiday greetings, special offers, or seasonal menus during specific date ranges.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Event announcements\u003C\u002Fstrong>: Print “Next event: Saturday, March 15th at 7 PM” dynamically on any page.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Recurring schedules\u003C\u002Fstrong>: Show “Happy Hour specials” every Friday from 5 PM to 8 PM.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Multi-stage visibility\u003C\u002Fstrong>: Use Event Classes to show a popup 4 days before an event, the full content 2 weeks before, and a menu item 11 days before — all independently controlled.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Event calendars\u003C\u002Fstrong>: Generate a table of all upcoming events across multiple schedulers.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Core Concepts\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>A scheduler becomes \u003Cstrong>active\u003C\u002Fstrong> when \u003Cstrong>at least one\u003C\u002Fstrong> rule matches (single dates\u002Franges \u003Cem>or\u003C\u002Fem> recurring rules).\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Exceptions override everything\u003C\u002Fstrong>: if “now” is inside an exception range, the block is hidden even if other rules match.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Event Classes\u003C\u002Fstrong> (new in 1.4) allow multiple independent visibility windows with different offsets — each generating its own CSS class.\u003C\u002Fli>\n\u003Cli>The shortcode reads the same event logic and outputs formatted dates with full control over separators and formatting.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Features\u003C\u002Fh3>\n\u003Ch4>Scheduling\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>Single dates & date ranges\u003C\u002Fstrong>: Define specific days or periods when content should be visible.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Recurring rules\u003C\u002Fstrong>: Weekly (every Monday), Monthly (every 15th), Weekday in month (2nd Thursday), Yearly (February 14th).\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Exceptions\u003C\u002Fstrong>: Override all rules — content stays hidden during exception periods.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Event Classes\u003C\u002Fstrong>: Create multiple CSS classes per scheduler, each with independent visibility offsets.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Shortcode Output\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>Flexible date\u002Ftime formatting\u003C\u002Fstrong>: Choose from short, medium, long, or full date formats.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Separators\u003C\u002Fstrong>: Control exactly what appears between date, time, and text parts.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Lists\u003C\u002Fstrong>: Output multiple upcoming events with customizable separators.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Event Table\u003C\u002Fstrong>: Generate a sortable table of all upcoming events from multiple schedulers.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Time offset\u003C\u002Fstrong>: Shift the displayed time (e.g., “doors open 30 minutes before”).\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Administration\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>Card-based UI\u003C\u002Fstrong>: Clean, modern interface for managing rules.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Live preview\u003C\u002Fstrong>: See upcoming events and visibility windows instantly.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Bilingual\u003C\u002Fstrong>: Full German and English support with one-click language switching.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Usage\u003C\u002Fh3>\n\u003Ch4>Adding CSS Classes to Blocks\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>Gutenberg\u003C\u002Fstrong>: Select block \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> “Advanced” \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> “Additional CSS class(es)” \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> \u003Ccode>luzid-cs-\u003Cslug>\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Elementor\u003C\u002Fstrong>: Widget \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> “Advanced” \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> “CSS Classes” \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> \u003Ccode>luzid-cs-\u003Cslug>\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Divi\u002Fothers\u003C\u002Fstrong>: Module settings \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> “CSS Class” \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> \u003Ccode>luzid-cs-\u003Cslug>\u003C\u002Fcode>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Basic Shortcode\u003C\u002Fh4>\n\u003Cpre>\u003Ccode>[luzid_cs slug=\"your-scheduler\"]\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Outputs: The next event date in the default format.\u003C\u002Fp>\n\u003Ch4>Shortcode Parameters\u003C\u002Fh4>\n\u003Cp>  Parameter\u003Cbr \u002F>\n  Default\u003Cbr \u002F>\n  Description\u003C\u002Fp>\n\u003Cp>  \u003Ccode>slug\u003C\u002Fcode>\u003Cbr \u002F>\n  (required)\u003Cbr \u002F>\n  Scheduler slug\u003C\u002Fp>\n\u003Cp>  \u003Ccode>date\u003C\u002Fcode>\u003Cbr \u002F>\n  (empty)\u003Cbr \u002F>\n  Date format: \u003Ccode>short\u003C\u002Fcode>, \u003Ccode>medium\u003C\u002Fcode>, \u003Ccode>long\u003C\u002Fcode>, \u003Ccode>full\u003C\u002Fcode>\u003C\u002Fp>\n\u003Cp>  \u003Ccode>time\u003C\u002Fcode>\u003Cbr \u002F>\n  (empty)\u003Cbr \u002F>\n  Time format: \u003Ccode>auto\u003C\u002Fcode>, \u003Ccode>raw\u003C\u002Fcode>, \u003Ccode>prefix\u003C\u002Fcode>, \u003Ccode>range\u003C\u002Fcode>, \u003Ccode>range_long\u003C\u002Fcode>\u003C\u002Fp>\n\u003Cp>  \u003Ccode>list\u003C\u002Fcode>\u003Cbr \u002F>\n  \u003Ccode>false\u003C\u002Fcode>\u003Cbr \u002F>\n  Output as list: \u003Ccode>true\u003C\u002Fcode> or \u003Ccode>false\u003C\u002Fcode>\u003C\u002Fp>\n\u003Cp>  \u003Ccode>count\u003C\u002Fcode>\u003Cbr \u002F>\n  \u003Ccode>10\u003C\u002Fcode>\u003Cbr \u002F>\n  Number of events for lists (max 200)\u003C\u002Fp>\n\u003Cp>  \u003Ccode>text\u003C\u002Fcode>\u003Cbr \u002F>\n  \u003Ccode>false\u003C\u002Fcode>\u003Cbr \u002F>\n  Include event text: \u003Ccode>true\u003C\u002Fcode> or \u003Ccode>false\u003C\u002Fcode>\u003C\u002Fp>\n\u003Cp>  \u003Ccode>sep1\u003C\u002Fcode>\u003Cbr \u002F>\n  (space)\u003Cbr \u002F>\n  Separator between date and time\u003C\u002Fp>\n\u003Cp>  \u003Ccode>sep2\u003C\u002Fcode>\u003Cbr \u002F>\n  (space)\u003Cbr \u002F>\n  Separator between time and text\u003C\u002Fp>\n\u003Cp>  \u003Ccode>sep3\u003C\u002Fcode>\u003Cbr \u002F>\n  (empty)\u003Cbr \u002F>\n  Separator between list items\u003C\u002Fp>\n\u003Cp>  \u003Ccode>timeoffset\u003C\u002Fcode>\u003Cbr \u002F>\n  \u003Ccode>0\u003C\u002Fcode>\u003Cbr \u002F>\n  Time offset in minutes (can be negative)\u003C\u002Fp>\n\u003Cp>  \u003Ccode>lang\u003C\u002Fcode>\u003Cbr \u002F>\n  (current)\u003Cbr \u002F>\n  Force language: \u003Ccode>de\u003C\u002Fcode> or \u003Ccode>en\u003C\u002Fcode>\u003C\u002Fp>\n\u003Ch4>Date Formats\u003C\u002Fh4>\n\u003Cp>  Value\u003Cbr \u002F>\n  Output Example\u003C\u002Fp>\n\u003Cp>  \u003Ccode>short\u003C\u002Fcode>\u003Cbr \u002F>\n  14.02.2026\u003C\u002Fp>\n\u003Cp>  \u003Ccode>medium\u003C\u002Fcode>\u003Cbr \u002F>\n  Sat, 14.02.2026\u003C\u002Fp>\n\u003Cp>  \u003Ccode>long\u003C\u002Fcode>\u003Cbr \u002F>\n  Saturday, 14.02.2026\u003C\u002Fp>\n\u003Cp>  \u003Ccode>full\u003C\u002Fcode>\u003Cbr \u002F>\n  Saturday, 14 February 2026\u003C\u002Fp>\n\u003Ch4>Time Formats\u003C\u002Fh4>\n\u003Cp>  Value\u003Cbr \u002F>\n  Output Example\u003C\u002Fp>\n\u003Cp>  (empty)\u003Cbr \u002F>\n  No time output\u003C\u002Fp>\n\u003Cp>  \u003Ccode>raw\u003C\u002Fcode>\u003Cbr \u002F>\n  18:00\u003C\u002Fp>\n\u003Cp>  \u003Ccode>prefix\u003C\u002Fcode>\u003Cbr \u002F>\n  from 18:00\u003C\u002Fp>\n\u003Cp>  \u003Ccode>range\u003C\u002Fcode>\u003Cbr \u002F>\n  18:00 to 20:00\u003C\u002Fp>\n\u003Cp>  \u003Ccode>range_long\u003C\u002Fcode>\u003Cbr \u002F>\n  from 18:00 to 20:00\u003C\u002Fp>\n\u003Cp>  \u003Ccode>auto\u003C\u002Fcode>\u003Cbr \u002F>\n  Intelligent format based on data\u003C\u002Fp>\n\u003Ch4>Shortcode Examples\u003C\u002Fh4>\n\u003Cp>\u003Cstrong>Simple date output:\u003C\u002Fstrong>\u003Cbr \u002F>\n    [luzid_cs slug=”maintenance” date=”long”]\u003Cbr \u002F>\n\u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> Saturday, 15.03.2026\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Date with time:\u003C\u002Fstrong>\u003Cbr \u002F>\n    [luzid_cs slug=”event” date=”long” time=”auto”]\u003Cbr \u002F>\n\u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> Saturday, 15.03.2026 from 18:00 to 20:00\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Only time output:\u003C\u002Fstrong>\u003Cbr \u002F>\n    [luzid_cs slug=”event” time=”raw”]\u003Cbr \u002F>\n\u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> 18:00\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Multi-line output:\u003C\u002Fstrong>\u003Cbr \u002F>\n    [luzid_cs slug=”event” date=”long” time=”auto” text=”true” sep1=”\u003Cbr \u002F>” sep2=”\u003Cbr \u002F>“]\u003Cbr \u002F>\n\u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> Saturday, 15.03.2026\u003Cbr \u002F>\n   from 18:00 to 20:00\u003Cbr \u002F>\n   Valentine’s Dinner\u003C\u002Fp>\n\u003Cp>\u003Cstrong>List of next 5 events:\u003C\u002Fstrong>\u003Cbr \u002F>\n    [luzid_cs slug=”concert” date=”long” text=”true” list=”true” count=”5″ sep2=”\u003Cbr \u002F>” sep3=”\u003C\u002Fp>\n\u003Cp>“]\u003C\u002Fp>\n\u003Cp>\u003Cstrong>With custom separators:\u003C\u002Fstrong>\u003Cbr \u002F>\n    [luzid_cs slug=”event” date=”long” time=”raw” text=”true” sep1=” | ” sep2=” – “]\u003Cbr \u002F>\n\u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> Saturday, 15.03.2026 | 18:00 – Valentine’s Dinner\u003C\u002Fp>\n\u003Ch4>Event Table Shortcode\u003C\u002Fh4>\n\u003Cpre>\u003Ccode>[luzid_cs_eventtable]\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Outputs a table of all upcoming events from schedulers with “Include in Event Table” enabled.\u003C\u002Fp>\n\u003Cp>  Parameter\u003Cbr \u002F>\n  Default\u003Cbr \u002F>\n  Description\u003C\u002Fp>\n\u003Cp>  \u003Ccode>cols\u003C\u002Fcode>\u003Cbr \u002F>\n  \u003Ccode>date_medium,time_auto,text\u003C\u002Fcode>\u003Cbr \u002F>\n  Columns (comma-separated)\u003C\u002Fp>\n\u003Cp>  \u003Ccode>count\u003C\u002Fcode>\u003Cbr \u002F>\n  \u003Ccode>30\u003C\u002Fcode>\u003Cbr \u002F>\n  Maximum number of events\u003C\u002Fp>\n\u003Cp>  \u003Ccode>headers\u003C\u002Fcode>\u003Cbr \u002F>\n  (automatic)\u003Cbr \u002F>\n  Custom column headers\u003C\u002Fp>\n\u003Cp>  \u003Ccode>noheaders\u003C\u002Fcode>\u003Cbr \u002F>\n  \u003Ccode>false\u003C\u002Fcode>\u003Cbr \u002F>\n  Hide table headers\u003C\u002Fp>\n\u003Cp>  \u003Ccode>class\u003C\u002Fcode>\u003Cbr \u002F>\n  (empty)\u003Cbr \u002F>\n  Additional CSS class\u003C\u002Fp>\n\u003Cp>  \u003Ccode>empty\u003C\u002Fcode>\u003Cbr \u002F>\n  “No events”\u003Cbr \u002F>\n  Text when no events found\u003C\u002Fp>\n\u003Cp>  \u003Ccode>order\u003C\u002Fcode>\u003Cbr \u002F>\n  \u003Ccode>asc\u003C\u002Fcode>\u003Cbr \u002F>\n  Sort order: \u003Ccode>asc\u003C\u002Fcode> or \u003Ccode>desc\u003C\u002Fcode>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Available columns:\u003C\u002Fstrong>\u003Cbr \u002F>\n    date_short, \u003Ccode>date_medium\u003C\u002Fcode>, \u003Ccode>date_long\u003C\u002Fcode>, \u003Ccode>date_full\u003C\u002Fcode>, \u003Ccode>weekday_short\u003C\u002Fcode>, \u003Ccode>weekday_long\u003C\u002Fcode>, \u003Ccode>time_raw\u003C\u002Fcode>, \u003Ccode>time_auto\u003C\u002Fcode>, \u003Ccode>time_prefix\u003C\u002Fcode>, \u003Ccode>time_range\u003C\u002Fcode>, \u003Ccode>time_range_long\u003C\u002Fcode>, \u003Ccode>text\u003C\u002Fcode>, \u003Ccode>scheduler\u003C\u002Fcode>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Example with custom columns:\u003C\u002Fstrong>\u003Cbr \u002F>\n    [luzid_cs_eventtable cols=”weekday_short,date_short,time_range,text” count=”10″ headers=”Day,Date,Time,Event”]\u003C\u002Fp>\n\u003Ch4>Event Classes (New in 1.4)\u003C\u002Fh4>\n\u003Cp>Event Classes allow you to create multiple independent visibility windows for a single scheduler. Each class has its own CSS class and offset settings.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Example setup:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>  Class\u003Cbr \u002F>\n  CSS Class\u003Cbr \u002F>\n  Days Before\u003Cbr \u002F>\n  Use Case\u003C\u002Fp>\n\u003Cp>  Standard\u003Cbr \u002F>\n  \u003Ccode>.luzid-cs-dinner\u003C\u002Fcode>\u003Cbr \u002F>\n  14\u003Cbr \u002F>\n  Main content\u003C\u002Fp>\n\u003Cp>  popup\u003Cbr \u002F>\n  \u003Ccode>.luzid-cs-dinner-popup\u003C\u002Fcode>\u003Cbr \u002F>\n  4\u003Cbr \u002F>\n  Announcement popup\u003C\u002Fp>\n\u003Cp>  menu\u003Cbr \u002F>\n  \u003Ccode>.luzid-cs-dinner-menu\u003C\u002Fcode>\u003Cbr \u002F>\n  11\u003Cbr \u002F>\n  Navigation menu item\u003C\u002Fp>\n\u003Cp>This allows you to control when different elements appear, all based on the same event schedule.\u003C\u002Fp>\n\u003Ch4>CSS Hooks\u003C\u002Fh4>\n\u003Cp>\u003Cstrong>Shortcode output:\u003C\u002Fstrong>\u003Cbr \u002F>\n* \u003Ccode>.luzid-cs\u003C\u002Fcode> — Wrapper (plus \u003Ccode>.luzid-cs--single\u003C\u002Fcode> \u002F \u003Ccode>.luzid-cs--list\u003C\u002Fcode>)\u003Cbr \u002F>\n* \u003Ccode>.luzid-cs-item\u003C\u002Fcode> — Single event in list\u003Cbr \u002F>\n* \u003Ccode>.luzid-cs-date\u003C\u002Fcode> — Date part\u003Cbr \u002F>\n* \u003Ccode>.luzid-cs-time\u003C\u002Fcode> — Time part\u003Cbr \u002F>\n* \u003Ccode>.luzid-cs-text\u003C\u002Fcode> — Event text\u003Cbr \u002F>\n* \u003Ccode>.luzid-cs-sep\u003C\u002Fcode> \u002F \u003Ccode>.luzid-cs-sep1\u003C\u002Fcode> \u002F \u003Ccode>.luzid-cs-sep2\u003C\u002Fcode> — Separators\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Event table:\u003C\u002Fstrong>\u003Cbr \u002F>\n* \u003Ccode>.luzid-cs-eventtable\u003C\u002Fcode> — Table wrapper\u003Cbr \u002F>\n* \u003Ccode>.luzid-cs-eventtable__head\u003C\u002Fcode> \u002F \u003Ccode>__body\u003C\u002Fcode> \u002F \u003Ccode>__row\u003C\u002Fcode> \u002F \u003Ccode>__cell\u003C\u002Fcode>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Body classes (for conditional CSS):\u003C\u002Fstrong>\u003Cbr \u002F>\n* \u003Ccode>.luzid-cs-active-\u003Cslug>\u003C\u002Fcode> — Added when scheduler is active\u003Cbr \u002F>\n* \u003Ccode>.luzid-cs-active-\u003Cslug>-\u003Cclassname>\u003C\u002Fcode> — Added when specific event class is active\u003C\u002Fp>\n\u003Ch3>License\u003C\u002Fh3>\n\u003Cp>This plugin is licensed under the \u003Cstrong>GNU General Public License v2.0 or later\u003C\u002Fstrong>.\u003C\u002Fp>\n\u003Cp>All code in this plugin is GPLv2-or-later compatible.\u003C\u002Fp>\n\u003Cp>Assets:\u003Cbr \u002F>\n* Luzid Logo and Flag icons are SVG assets shipped with the plugin (assets\u002Fimg\u002F).\u003C\u002Fp>\n","Show\u002Fhide frontend content blocks (banners, alerts, divs) with schedules, recurring rules and exceptions — via CSS class or shortcode.",270,"2026-03-06T14:35:00.000Z","6.0","7.4",[126,127,128,129,20],"banner","content","pagebuilder","scheduler","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fluzid-content-scheduler.1.4.3.zip",{"attackSurface":132,"codeSignals":155,"taintFlows":162,"riskAssessment":163,"analyzedAt":171},{"hooks":133,"ajaxHandlers":149,"restRoutes":150,"shortcodes":151,"cronEvents":154,"entryPointCount":57,"unprotectedCount":24},[134,139,143,146],{"type":135,"name":136,"callback":137,"file":138,"line":33},"action","init","closure","scheduled-contents-shortcode.php",{"type":135,"name":140,"callback":140,"file":141,"line":142},"admin_enqueue_scripts","src\\Shortcake_Datetime_Field.php",19,{"type":144,"name":145,"callback":145,"file":141,"line":67},"filter","shortcode_ui_fields",{"type":135,"name":147,"callback":147,"file":141,"line":148},"print_shortcode_ui_templates",21,[],[],[152],{"tag":19,"callback":20,"file":153,"line":142},"src\\Shortcode.php",[],{"dangerousFunctions":156,"sqlUsage":157,"outputEscaping":159,"fileOperations":24,"externalRequests":24,"nonceChecks":24,"capabilityChecks":24,"bundledLibraries":161},[],{"prepared":24,"raw":24,"locations":158},[],{"escaped":24,"rawEcho":24,"locations":160},[],[],[],{"summary":164,"deductions":165},"The 'scheduled-contents-shortcode' plugin version 1.0.3 exhibits a strong security posture based on the provided static analysis and vulnerability history.  The code analysis reveals no dangerous functions, all SQL queries use prepared statements, and all outputs are properly escaped.  Furthermore, there are no file operations, external HTTP requests, or bundled libraries, which minimizes potential attack vectors. The absence of any known CVEs, both historically and currently, further reinforces its security. The plugin also has a minimal attack surface with only one shortcode and no unprotected entry points. \n\nWhile the plugin's adherence to secure coding practices like prepared statements and output escaping is commendable, the complete lack of nonce and capability checks across all entry points presents a notable area of concern. Although the current attack surface is small and all identified entry points are technically protected by WordPress's default authentication, the absence of explicit checks means that if the plugin's functionality were to evolve or if future vulnerabilities were introduced, these entry points could become exploitable without proper authorization. The taint analysis showing zero flows is also positive, but the lack of checks makes any future flows more risky.\n\nIn conclusion, 'scheduled-contents-shortcode' v1.0.3 is currently a secure plugin with no known vulnerabilities and excellent coding practices in place for SQL and output handling. However, the absence of nonce and capability checks is a significant weakness that could lead to issues if the plugin's attack surface grows or if new vulnerabilities are discovered. This lack of explicit authorization controls is the primary risk identified.",[166,169],{"reason":167,"points":168},"Missing nonce checks on all entry points",5,{"reason":170,"points":168},"Missing capability checks on all entry points","2026-03-16T20:55:22.954Z",{"wat":173,"direct":180},{"assetPaths":174,"generatorPatterns":176,"scriptPaths":177,"versionParams":178},[175],"\u002Fwp-content\u002Fplugins\u002Fscheduled-contents-shortcode\u002Fassets\u002Fadmin.css",[],[],[179],"scheduled-contents-shortcode\u002Fassets\u002Fadmin.css?ver=",{"cssClasses":181,"htmlComments":188,"htmlAttributes":190,"restEndpoints":197,"jsGlobals":198,"shortcodeOutput":200},[182,183,184,182,185,186,187],"shortcode-ui-field-datetime-local","shortcode-ui-attribute-{{ data.attr }}","field-block","shortcode-ui-attribute-datetime-local","shortcode-ui-attribute-from","shortcode-ui-attribute-to",[189],"\u003C!-- datetime-local field template -->",[191,192,193,194,195,196],"data-attr","data-id","data-value","data-meta","data-description","data-label",[],[199],"shortcode_ui_register_for_shortcode",[201,202],"\u003Clabel for=\"{{ data.id }}\">{{{ data.label }}}\u003C\u002Flabel>","\u003Cinput type=\"datetime-local\" name=\"{{ data.attr }}\" id=\"{{ data.id }}\" value=\"{{ data.value }}\" pattern=\"[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}\" {{{ data.meta }}}\u002F>"]