[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fEe59PXxppoKz9tlFuH-K0xaXlXGQBZN7ntit0zqQsC8":3},{"slug":4,"name":5,"version":6,"author":7,"author_profile":8,"description":9,"short_description":10,"active_installs":11,"downloaded":12,"rating":13,"num_ratings":14,"last_updated":15,"tested_up_to":16,"requires_at_least":17,"requires_php":18,"tags":19,"homepage":24,"download_link":25,"security_score":26,"vuln_count":27,"unpatched_count":27,"last_vuln_date":28,"fetched_at":29,"vulnerabilities":30,"developer":31,"crawl_stats":28,"alternatives":37,"analysis":134,"fingerprints":203},"bcd-upcoming-posts","BCD Upcoming Posts","1.4.1","krawl","https:\u002F\u002Fprofiles.wordpress.org\u002Fkrawl\u002F","\u003Cp>Creates a widget that can be used to display upcoming posts.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Features\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Control number of posts to be displayed\u003C\u002Fli>\n\u003Cli>Display posts in ascending, descending or random order\u003C\u002Fli>\n\u003Cli>Display post titles as a link or plain text\u003C\u002Fli>\n\u003Cli>Display drafts along with scheduled posts\u003C\u002Fli>\n\u003Cli>Display drafts instead of scheduled posts\u003C\u002Fli>\n\u003Cli>Provides a shortcode for displaying\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Shortcode(s):\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>[bcdupcoming]\u003C\u002Fstrong> : Displays a list of all upcoming posts.  Has the same options available to it as the widget.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>For detailed usage instructions please visit [duhjones.com](http:\u002F\u002Fwww.duhjones.com\u002Fdownloads\u002Fbcd-upcoming-posts\u002F)\u003C\u002Fp>\n","Displays a list of upcoming posts in a widget.",10,2789,100,1,"2013-08-23T01:13:00.000Z","3.5.2","3.4.2","",[20,21,22,23],"future","post","upcoming","widget","http:\u002F\u002Fwww.duhjones.com\u002Fdownloads\u002Fbcd-upcoming-posts\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fbcd-upcoming-posts.1.4.1.zip",85,0,null,"2026-03-15T15:16:48.613Z",[],{"slug":7,"display_name":7,"profile_url":8,"plugin_count":32,"total_installs":33,"avg_security_score":26,"avg_patch_time_days":34,"trust_score":35,"computed_at":36},2,20,30,84,"2026-04-05T01:53:24.979Z",[38,57,75,93,110],{"slug":39,"name":40,"version":41,"author":42,"author_profile":43,"description":44,"short_description":45,"active_installs":46,"downloaded":47,"rating":46,"num_ratings":48,"last_updated":49,"tested_up_to":50,"requires_at_least":51,"requires_php":18,"tags":52,"homepage":55,"download_link":56,"security_score":26,"vuln_count":27,"unpatched_count":27,"last_vuln_date":28,"fetched_at":29},"soup-show-off-upcoming-posts","SOUP – Show off Upcoming Posts","2.3","Dave Clements","https:\u002F\u002Fprofiles.wordpress.org\u002Fthewanderingbrit\u002F","\u003Cp>\u003Cstrong>Like this plugin?\u003C\u002Fstrong> Consider \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fsupport\u002Fview\u002Fplugin-reviews\u002Fsoup-show-off-upcoming-posts\" title=\"Review SOUP\" rel=\"ugc\">leaving a quick review\u003C\u002Fa> or writing about how you’ve used it on your site – \u003Ca href=\"https:\u002F\u002Fwww.theukedge.com\u002Fcontact\u002F?utm_source=wordpress.org&utm_medium=plugin&utm_campaign=contact\" title=\"Contact Dave\" rel=\"nofollow ugc\">send me a link\u003C\u002Fa> to that write up if you do.\u003C\u002Fp>\n\u003Cp>This plugin is maintained on \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftheukedge\u002Fsoup-show-off-upcoming-posts\" rel=\"nofollow ugc\">GitHub\u003C\u002Fa>, so feel free to use the repository for reporting issues, submitting feature requests and submitting pull requests.\u003C\u002Fp>\n\u003Cp>SOUP creates a widget in your sidebar which allows you to display your upcoming posts (scheduled, drafts, or both) to your readers. The idea is to entice your readers to come back and read the article once it gets published, or better yet, subscribe to your RSS feed and\u002For newsletter.\u003C\u002Fp>\n\u003Cp>Here are the configurable options for the widget:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Title of sidebar widget\u003C\u002Fli>\n\u003Cli>Number of upcoming posts to display (always in ascending order – newest first)\u003C\u002Fli>\n\u003Cli>Choose whether to show date of upcoming post\u003C\u002Fli>\n\u003Cli>Display order of the posts (next post first or random order)\u003C\u002Fli>\n\u003Cli>Message to display for when there are no scheduled posts or drafts\u003C\u002Fli>\n\u003Cli>Show\u002Fhide newsletter link\u003C\u002Fli>\n\u003Cli>Include link to sign up to newsletter\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>I’ve got plans to continue developing and updating this plugin. If you have any suggestions on revisions that you’d like to see made, please \u003Ca href=\"https:\u002F\u002Fwww.theukedge.com\u002Fcontact\u002F?utm_source=wordpress.org&utm_medium=plugin&utm_campaign=contact\" title=\"Contact Dave\" rel=\"nofollow ugc\">get in touch\u003C\u002Fa> or \u003Ca href=\"http:\u002F\u002Fwww.twitter.com\u002Fdaclements\" title=\"Dave on Twitter\" rel=\"nofollow ugc\">find me on Twitter\u003C\u002Fa>.\u003C\u002Fp>\n\u003Cp>I also run \u003Ca href=\"https:\u002F\u002Fwww.doitwithwp.com\u002F?utm_source=wordpress.org&utm_medium=plugin&utm_campaign=my-other-sites\" title=\"WordPress Tutorials\" rel=\"nofollow ugc\">Do It With WordPress\u003C\u002Fa>, which has an array of tutorials for managing, modifying and maintaining your WordPress sites, as well as \u003Ca href=\"https:\u002F\u002Fwww.thewpbutler.com\u002F?utm_source=wordpress.org&utm_medium=plugin&utm_campaign=wordpress-services\" title=\"WordPress Maintenance Services\" rel=\"nofollow ugc\">The WP Butler\u003C\u002Fa>, a service for keeping your site maintained, backed up, updated and secure.\u003C\u002Fp>\n","Displays your upcoming posts in a sidebar widget to tease your readers",90,18028,6,"2019-10-01T16:40:00.000Z","5.2.24","3.8",[20,53,54,22,23],"posts","scheduled","https:\u002F\u002Fgithub.com\u002Ftheukedge\u002Fsoup-show-off-upcoming-posts","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fsoup-show-off-upcoming-posts.2.3.zip",{"slug":58,"name":59,"version":60,"author":61,"author_profile":62,"description":63,"short_description":64,"active_installs":11,"downloaded":65,"rating":27,"num_ratings":27,"last_updated":66,"tested_up_to":67,"requires_at_least":68,"requires_php":18,"tags":69,"homepage":73,"download_link":74,"security_score":26,"vuln_count":27,"unpatched_count":27,"last_vuln_date":28,"fetched_at":29},"linked-future-posts-widget","Linked Future Posts Widget","1.0.0","rickacc","https:\u002F\u002Fprofiles.wordpress.org\u002Frickacc\u002F","\u003Cp>Linked Future Posts Widget acts very much like the upcoming posts widget by displaying\u003Cbr \u002F>\nscheduled posts instead of published ones, but includes a link to each post (using slug\u002Fpost name).  Requires WordPress 2.8+\u003C\u002Fp>\n\u003Cp>Use this plugin in conjunction with the Future plugin from Marion Sudvarg to create a Post Grid of scheduled events and a list of scheduled\u003Cbr \u002F>\nevents on the post page.  Events that change from scheduled to published status will automatically be removed from the grid and list.\u003C\u002Fp>\n\u003Cp>Linked Future Posts Widget is a derivative of the Upcoming Posts Widget plugin created by Aaron D. Campbell.\u003C\u002Fp>\n","A widget that displays a list of scheduled posts with links to the posts.",1304,"2016-10-18T12:16:00.000Z","4.6.30","2.8",[70,53,71,72,23],"future-posts","scheduled-posts","upcoming-posts","http:\u002F\u002Fwww.indianpeakswebdesign.com\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Flinked-future-posts-widget.1.0.0.zip",{"slug":76,"name":77,"version":78,"author":79,"author_profile":80,"description":81,"short_description":82,"active_installs":13,"downloaded":83,"rating":84,"num_ratings":85,"last_updated":86,"tested_up_to":16,"requires_at_least":87,"requires_php":18,"tags":88,"homepage":91,"download_link":92,"security_score":26,"vuln_count":27,"unpatched_count":27,"last_vuln_date":28,"fetched_at":29},"blog-post-calendar-widget","Blog Post Calendar Widget","1.1","Ron Zvagelsky","https:\u002F\u002Fprofiles.wordpress.org\u002Frzvagelsky\u002F","\u003Cp>Monthly grid view calendar widget highlighting archived and\u002For future posts.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Additional Features:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Popup details for each date with posts\u003C\u002Fli>\n\u003Cli>Optional details include post author and comment count.\u003C\u002Fli>\n\u003Cli>Ability to show posts by post type, category, specific taxonomy and\u002For term\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Ca href=\"http:\u002F\u002Fpresshive.com\u002Fplugins\u002Fwordpress-blog-post-calendar-plugin\" rel=\"nofollow ugc\">\u003Cstrong>For more information or to request additional features, please visit the plugin page\u003C\u002Fstrong>\u003C\u002Fa>\u003C\u002Fp>\n","The Blog Posts Calendar Widget allows you to display your archived or future posts in a calendar as a sidebar widget.",14402,96,8,"2013-05-24T19:47:00.000Z","3.2",[89,70,90,53,23],"calendar","post-types","http:\u002F\u002Fpresshive.com","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fblog-post-calendar-widget.zip",{"slug":94,"name":95,"version":60,"author":96,"author_profile":97,"description":98,"short_description":99,"active_installs":11,"downloaded":100,"rating":27,"num_ratings":27,"last_updated":101,"tested_up_to":102,"requires_at_least":103,"requires_php":104,"tags":105,"homepage":108,"download_link":109,"security_score":13,"vuln_count":27,"unpatched_count":27,"last_vuln_date":28,"fetched_at":29},"scheduled-posts-showcase","Scheduled Posts Showcase","Fernando Tellado","https:\u002F\u002Fprofiles.wordpress.org\u002Ffernandot\u002F","\u003Cp>\u003Cstrong>Scheduled Posts Showcase\u003C\u002Fstrong> lets you display your scheduled (future) posts on the frontend of your WordPress site without creating problematic links to unpublished content.\u003C\u002Fp>\n\u003Cp>Unlike other solutions that link to scheduled posts and generate 404 errors for visitors, this plugin shows post information (title, date, excerpt, featured image, categories) without ever exposing the permalink or post ID.\u003C\u002Fp>\n\u003Ch4>Key Features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>No 404 errors\u003C\u002Fstrong> – Never generates links to unpublished content\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Multiple display methods\u003C\u002Fstrong> – Use shortcode, widget, Gutenberg block, or REST API\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Fully customizable\u003C\u002Fstrong> – Control what information to display and how it looks\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Global settings with per-instance overrides\u003C\u002Fstrong> – Set defaults once, customize where needed\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Translation ready\u003C\u002Fstrong> – Fully prepared for localization\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Developer friendly\u003C\u002Fstrong> – Extensive hooks for customization\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Display Options\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Number of posts to show\u003C\u002Fli>\n\u003Cli>Featured image (thumbnail or medium size)\u003C\u002Fli>\n\u003Cli>Scheduled publication date\u003C\u002Fli>\n\u003Cli>Post excerpt (with configurable word count)\u003C\u002Fli>\n\u003Cli>Categories\u003C\u002Fli>\n\u003Cli>Custom heading with selectable HTML tag\u003C\u002Fli>\n\u003Cli>Custom footer content for calls to action\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Appearance Options\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Card or minimal container style\u003C\u002Fli>\n\u003Cli>Dashicon, theme default, or no list bullets\u003C\u002Fli>\n\u003Cli>Curated icon selector for list bullets\u003C\u002Fli>\n\u003Cli>Accent color customization\u003C\u002Fli>\n\u003Cli>Responsive design\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Visibility Control\u003C\u002Fh4>\n\u003Cp>Choose who can see your scheduled posts:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Everyone (public)\u003C\u002Fli>\n\u003Cli>Logged-in users only\u003C\u002Fli>\n\u003Cli>Editors and administrators only\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Usage\u003C\u002Fh4>\n\u003Cp>\u003Cstrong>Shortcode:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cpre>\u003Ccode>[scheduled-posts-showcase]\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>With parameters:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>[scheduled-posts-showcase count=\"3\" show_date=\"1\" show_excerpt=\"1\" container_style=\"card\"]\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>\u003Cstrong>Widget:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>Add the “Scheduled Posts Showcase” widget to any widget area from Appearance \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> Widgets.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Gutenberg Block:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>Search for “Scheduled Posts” in the block inserter and add the block to any post or page.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>REST API:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cpre>\u003Ccode>GET \u002Fwp-json\u002Fscheduled-posts-showcase\u002Fv1\u002Fscheduled-posts\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Parameters: \u003Ccode>per_page\u003C\u002Fcode>, \u003Ccode>fields\u003C\u002Fcode>, \u003Ccode>post_type\u003C\u002Fcode>, \u003Ccode>order\u003C\u002Fcode>\u003C\u002Fp>\n\u003Ch4>Why This Plugin?\u003C\u002Fh4>\n\u003Cp>Existing plugins for displaying scheduled posts either:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Are abandoned (some over 10 years old)\u003C\u002Fli>\n\u003Cli>Link to scheduled posts, causing 404 errors\u003C\u002Fli>\n\u003Cli>Use deprecated WordPress functions\u003C\u002Fli>\n\u003Cli>Lack modern features like Gutenberg blocks\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Scheduled Posts Showcase solves all these problems with a modern, secure, and fully-featured solution.\u003C\u002Fp>\n\u003Ch3>CSS Customization\u003C\u002Fh3>\n\u003Cp>The plugin provides semantic CSS classes for easy customization.\u003C\u002Fp>\n\u003Ch4>Available CSS Classes\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Ccode>.sps-scheduled-posts\u003C\u002Fcode> – Main container\u003C\u002Fli>\n\u003Cli>\u003Ccode>.sps-style-card\u003C\u002Fcode> – Card style container\u003C\u002Fli>\n\u003Cli>\u003Ccode>.sps-style-minimal\u003C\u002Fcode> – Minimal style container\u003C\u002Fli>\n\u003Cli>\u003Ccode>.sps-scheduled-heading\u003C\u002Fcode> – Heading element\u003C\u002Fli>\n\u003Cli>\u003Ccode>.sps-scheduled-list\u003C\u002Fcode> – Posts list (ul)\u003C\u002Fli>\n\u003Cli>\u003Ccode>.sps-list-dashicon\u003C\u002Fcode> – List with dashicon bullets\u003C\u002Fli>\n\u003Cli>\u003Ccode>.sps-list-theme\u003C\u002Fcode> – List with theme default bullets\u003C\u002Fli>\n\u003Cli>\u003Ccode>.sps-list-none\u003C\u002Fcode> – List with no bullets\u003C\u002Fli>\n\u003Cli>\u003Ccode>.sps-scheduled-item\u003C\u002Fcode> – Each post item (li)\u003C\u002Fli>\n\u003Cli>\u003Ccode>.sps-scheduled-icon\u003C\u002Fcode> – Dashicon bullet\u003C\u002Fli>\n\u003Cli>\u003Ccode>.sps-scheduled-thumbnail\u003C\u002Fcode> – Featured image container\u003C\u002Fli>\n\u003Cli>\u003Ccode>.sps-scheduled-title\u003C\u002Fcode> – Post title\u003C\u002Fli>\n\u003Cli>\u003Ccode>.sps-scheduled-date\u003C\u002Fcode> – Scheduled date\u003C\u002Fli>\n\u003Cli>\u003Ccode>.sps-scheduled-excerpt\u003C\u002Fcode> – Post excerpt\u003C\u002Fli>\n\u003Cli>\u003Ccode>.sps-scheduled-categories\u003C\u002Fcode> – Categories list\u003C\u002Fli>\n\u003Cli>\u003Ccode>.sps-scheduled-footer\u003C\u002Fcode> – Custom footer content\u003C\u002Fli>\n\u003Cli>\u003Ccode>.sps-no-scheduled\u003C\u002Fcode> – Empty state message\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Example Customizations\u003C\u002Fh4>\n\u003Cpre>\u003Ccode>\u002F* Change font size for post titles *\u002F\n.sps-scheduled-title {\n    font-size: 1.1em;\n}\n\n\u002F* Add more padding to the card container *\u002F\n.sps-style-card {\n    padding: 1.5em;\n}\n\n\u002F* Custom color for the date *\u002F\n.sps-scheduled-date {\n    color: #666;\n    font-style: italic;\n}\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch4>CSS Custom Property\u003C\u002Fh4>\n\u003Cp>The accent color is available as a CSS custom property:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>\u002F* Use the accent color in your custom styles *\u002F\n.my-custom-element {\n    border-color: var(--sps-accent-color);\n}\u003Ch3>Developer Hooks\u003C\u002Fh3>\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>The plugin provides filters and actions for developers to customize behavior without modifying plugin code.\u003C\u002Fp>\n\u003Ch4>Filters with Examples\u003C\u002Fh4>\n\u003Cp>\u003Cstrong>spscase_query_args\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>Modify WP_Query arguments before fetching scheduled posts.\u003C\u002Fp>\n\u003Cpre>\u003Ccode>add_filter( 'spscase_query_args', function( $args ) {\n    \u002F\u002F Only show posts from specific category\n    $args['cat'] = 5;\n    return $args;\n} );\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>\u003Cstrong>spscase_post_data\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>Modify the data array for each post before rendering.\u003C\u002Fp>\n\u003Cpre>\u003Ccode>add_filter( 'spscase_post_data', function( $post_data, $post ) {\n    \u002F\u002F Add custom field to post data\n    $post_data['reading_time'] = get_post_meta( $post->ID, 'reading_time', true );\n    return $post_data;\n}, 10, 2 );\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>\u003Cstrong>spscase_post_html\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>Modify the HTML output for each individual post item.\u003C\u002Fp>\n\u003Cpre>\u003Ccode>add_filter( 'spscase_post_html', function( $html, $post_data ) {\n    \u002F\u002F Add reading time after the title\n    if ( ! empty( $post_data['reading_time'] ) ) {\n        $badge = '\u003Cspan class=\"reading-time\">' . esc_html( $post_data['reading_time'] ) . ' min read\u003C\u002Fspan>';\n        $html = str_replace( '\u003C\u002Fspan class=\"sps-scheduled-title\">', '\u003C\u002Fspan>' . $badge, $html );\n    }\n    return $html;\n}, 10, 2 );\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>\u003Cstrong>spscase_output_html\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>Modify the complete rendered HTML output.\u003C\u002Fp>\n\u003Cpre>\u003Ccode>add_filter( 'spscase_output_html', function( $html, $posts, $settings ) {\n    \u002F\u002F Wrap output in custom container\n    return '\u003Cdiv class=\"my-custom-wrapper\">' . $html . '\u003C\u002Fdiv>';\n}, 10, 3 );\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>\u003Cstrong>spscase_rest_post_data\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>Modify post data in REST API responses.\u003C\u002Fp>\n\u003Cpre>\u003Ccode>add_filter( 'spscase_rest_post_data', function( $post_data, $post ) {\n    \u002F\u002F Add author name to API response\n    $post_data['author'] = get_the_author_meta( 'display_name', $post->post_author );\n    return $post_data;\n}, 10, 2 );\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>\u003Cstrong>spscase_excerpt_length\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>Override the excerpt word count.\u003C\u002Fp>\n\u003Cpre>\u003Ccode>add_filter( 'spscase_excerpt_length', function( $length ) {\n    \u002F\u002F Shorter excerpts for sidebar widgets\n    return 15;\n} );\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>\u003Cstrong>spscase_date_format\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>Override the date format (default: WordPress date_format option).\u003C\u002Fp>\n\u003Cpre>\u003Ccode>add_filter( 'spscase_date_format', function( $format ) {\n    \u002F\u002F Show relative dates like \"in 3 days\"\n    return 'relative';\n} );\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>\u003Cstrong>spscase_post_types\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>Filter available post types in the settings dropdown.\u003C\u002Fp>\n\u003Cpre>\u003Ccode>add_filter( 'spscase_post_types', function( $post_types ) {\n    \u002F\u002F Remove 'page' from available post types\n    unset( $post_types['page'] );\n    return $post_types;\n} );\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>\u003Cstrong>spscase_cache_expiration\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>Modify cache duration in seconds (default: 3600 = 1 hour).\u003C\u002Fp>\n\u003Cpre>\u003Ccode>add_filter( 'spscase_cache_expiration', function( $seconds ) {\n    \u002F\u002F Cache for 6 hours on high-traffic sites\n    return 6 * HOUR_IN_SECONDS;\n} );\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>\u003Cstrong>spscase_allowed_footer_html\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>Modify allowed HTML tags for footer content.\u003C\u002Fp>\n\u003Cpre>\u003Ccode>add_filter( 'spscase_allowed_footer_html', function( $allowed_tags ) {\n    \u002F\u002F Allow button element in footer\n    $allowed_tags['button'] = array(\n        'class' => true,\n        'type'  => true,\n    );\n    return $allowed_tags;\n} );\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch4>Actions with Examples\u003C\u002Fh4>\n\u003Cp>\u003Cstrong>spscase_before_output\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>Fires before the scheduled posts list renders.\u003C\u002Fp>\n\u003Cpre>\u003Ccode>add_action( 'spscase_before_output', function( $posts, $settings ) {\n    \u002F\u002F Track impressions\n    if ( function_exists( 'my_track_impression' ) ) {\n        my_track_impression( 'scheduled_posts_widget' );\n    }\n}, 10, 2 );\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>\u003Cstrong>spscase_after_output\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>Fires after the scheduled posts list renders.\u003C\u002Fp>\n\u003Cpre>\u003Ccode>add_action( 'spscase_after_output', function( $posts, $settings ) {\n    \u002F\u002F Output additional content after the list\n    echo '\u003Cp class=\"sps-custom-note\">Updated hourly\u003C\u002Fp>';\n}, 10, 2 );\u003Ch3>Support\u003C\u002Fh3>\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Need help or have suggestions?\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fservicios.ayudawp.com\" rel=\"nofollow ugc\">Official website\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fsupport\u002Fplugin\u002Fscheduled-posts-showcase\u002F\" rel=\"ugc\">WordPress support forum\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.youtube.com\u002FAyudaWordPressES\" rel=\"nofollow ugc\">YouTube channel\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fayudawp.com\" rel=\"nofollow ugc\">Documentation and tutorials\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Love the plugin? Please leave us a 5-star review and help spread the word!\u003C\u002Fp>\n\u003Ch3>About AyudaWP.com\u003C\u002Fh3>\n\u003Cp>We are specialists in WordPress security, SEO, and performance optimization plugins. We create tools that solve real problems for WordPress site owners while maintaining the highest coding standards and accessibility requirements.\u003C\u002Fp>\n","Display your scheduled and future posts on the frontend without generating 404 links. Show visitors what's coming next.",196,"2026-02-26T13:13:00.000Z","6.9.4","5.8","7.4",[106,107,70,71,72],"content-schedule","editorial-calendar","https:\u002F\u002Fservicios.ayudawp.com","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fscheduled-posts-showcase.1.0.0.zip",{"slug":111,"name":112,"version":113,"author":114,"author_profile":115,"description":116,"short_description":117,"active_installs":118,"downloaded":119,"rating":120,"num_ratings":121,"last_updated":122,"tested_up_to":123,"requires_at_least":124,"requires_php":18,"tags":125,"homepage":131,"download_link":132,"security_score":133,"vuln_count":27,"unpatched_count":27,"last_vuln_date":28,"fetched_at":29},"ele-custom-skin","Elementor Custom Skin","3.1.9","dudaster","https:\u002F\u002Fprofiles.wordpress.org\u002Fdudaster\u002F","\u003Cp>This plugin adds new skin to Elementor Page Builder Posts and Posts Archive widget.\u003C\u002Fp>\n\u003Cp>You can design a loop item just like a single template and it would be used as a skin so you can be able to create a post grid the way you like.\u003C\u002Fp>\n\u003Cp>All you have to do is to create a Custom Grid Template and place the Post Item Widget (placeholder) in your template made with sections and columns, and why not other widgets.\u003C\u002Fp>\n\u003Cspan class=\"embed-youtube\" style=\"text-align:center; display: block;\">\u003Ciframe loading=\"lazy\" class=\"youtube-player\" width=\"750\" height=\"422\" src=\"https:\u002F\u002Fwww.youtube.com\u002Fembed\u002FDwLFdaZ69KU?version=3&rel=1&showsearch=0&showinfo=1&iv_load_policy=1&fs=1&hl=en-US&autohide=2&start=94&wmode=transparent\" allowfullscreen=\"true\" style=\"border:0;\" sandbox=\"allow-scripts allow-same-origin allow-popups allow-presentation allow-popups-to-escape-sandbox\">\u003C\u002Fiframe>\u003C\u002Fspan>\n\u003Cp>For a quick tutorial see Frequently Asked Questions!\u003C\u002Fp>\n\u003Cp>For more details and demo check our official site https:\u002F\u002Fdudaster.com\u002F\u003C\u002Fp>\n\u003Cp>Note: This plugin is an addon of Elementor Page Builder (https:\u002F\u002Fwordpress.org\u002Fplugins\u002Felementor\u002F) and will only work with Elementor Page Builder installed.\u003C\u002Fp>\n\u003Cp>Also check \u003Ca href=\"https:\u002F\u002Fdudaster.com\u002Fecs-pro\u002F\" rel=\"nofollow ugc\">Elementor Custom Skin Pro\u003C\u002Fa>!\u003C\u002Fp>\n\u003Cp>You can expand your freedom in more ways than you can imagine. Check it out at https:\u002F\u002Fdudaster.com\u002Fecs-pro\u002F !\u003C\u002Fp>\n","Create new skins for Elementor PRO 3.x page builder. Design your own skins for Post and Post Archive Widgets using Elementor Loop Templates.",100000,1491073,94,116,"2024-04-11T09:40:00.000Z","6.5.8","5.0",[126,127,128,129,130],"archive-list","elementor","loop","page-builder","post-widget","https:\u002F\u002Fdudaster.com","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fele-custom-skin.zip",92,{"attackSurface":135,"codeSignals":151,"taintFlows":188,"riskAssessment":189,"analyzedAt":202},{"hooks":136,"ajaxHandlers":143,"restRoutes":144,"shortcodes":145,"cronEvents":150,"entryPointCount":14,"unprotectedCount":27},[137],{"type":138,"name":139,"callback":140,"file":141,"line":142},"action","widgets_init","anonymous","bcd-upcoming-posts.php",21,[],[],[146],{"tag":147,"callback":148,"file":141,"line":149},"bcdupcoming","bcdup_sc_upcoming_posts",263,[],{"dangerousFunctions":152,"sqlUsage":156,"outputEscaping":158,"fileOperations":27,"externalRequests":27,"nonceChecks":27,"capabilityChecks":27,"bundledLibraries":187},[153],{"fn":154,"file":141,"line":142,"context":155},"create_function","add_action( 'widgets_init', create_function('', 'return register_widget(\"bcd_upcoming_posts\");') );",{"prepared":27,"raw":27,"locations":157},[],{"escaped":27,"rawEcho":159,"locations":160},13,[161,164,166,168,169,171,173,175,177,179,181,183,185],{"file":141,"line":162,"context":163},60,"raw output",{"file":141,"line":165,"context":163},71,{"file":141,"line":167,"context":163},83,{"file":141,"line":167,"context":163},{"file":141,"line":170,"context":163},97,{"file":141,"line":172,"context":163},107,{"file":141,"line":174,"context":163},123,{"file":141,"line":176,"context":163},144,{"file":141,"line":178,"context":163},149,{"file":141,"line":180,"context":163},194,{"file":141,"line":182,"context":163},198,{"file":141,"line":184,"context":163},201,{"file":141,"line":186,"context":163},212,[],[],{"summary":190,"deductions":191},"The \"bcd-upcoming-posts\" plugin v1.4.1 exhibits a mixed security posture. On the positive side, the plugin demonstrates good practices regarding SQL query handling, utilizing prepared statements exclusively, and shows no history of recorded vulnerabilities, suggesting a potentially stable and secure codebase over time. The attack surface appears minimal, with only one shortcode and no AJAX handlers or REST API routes without authentication checks. There are also no file operations or external HTTP requests. \n\nHowever, significant security concerns are present. The use of the `create_function` is a critical red flag, as it can be exploited for code injection if any user-supplied data indirectly influences its execution. Furthermore, a complete lack of output escaping across all identified outputs is a major vulnerability, exposing the plugin to Cross-Site Scripting (XSS) attacks. The absence of nonce checks and capability checks on the single entry point (shortcode) further exacerbates the risk of unauthorized actions or unintended behavior. While no taint flows were detected in this static analysis, the presence of `create_function` and unescaped output suggests a high likelihood of exploitable vulnerabilities.\n\nIn conclusion, while the plugin's history and SQL handling are positive indicators, the identified code signals, particularly `create_function` and the universal lack of output escaping, present substantial security risks. These weaknesses significantly outweigh the strengths, leading to a concerning security posture that requires immediate attention. The minimal attack surface is negated by the critical vulnerabilities within that surface.",[192,195,197,200],{"reason":193,"points":194},"Use of dangerous create_function",15,{"reason":196,"points":85},"0% output escaping",{"reason":198,"points":199},"0 nonce checks on entry points",5,{"reason":201,"points":199},"0 capability checks on entry points","2026-03-17T00:29:00.984Z",{"wat":204,"direct":214},{"assetPaths":205,"generatorPatterns":208,"scriptPaths":209,"versionParams":211},[206,207],"\u002Fwp-content\u002Fplugins\u002Fbcd-upcoming-posts\u002Fscripts\u002Fbcdup-script.js","\u002Fwp-content\u002Fplugins\u002Fbcd-upcoming-posts\u002Fcss\u002Fbcdup-css.css",[],[210],"scripts\u002Fbcdup-script.js",[212,213],"bcd-upcoming-posts\u002Fscripts\u002Fbcdup-script.js?ver=","bcd-upcoming-posts\u002Fcss\u002Fbcdup-css.css?ver=",{"cssClasses":215,"htmlComments":217,"htmlAttributes":218,"restEndpoints":220,"jsGlobals":221,"shortcodeOutput":223},[216],"BCD_Upcoming_Posts",[],[219],"data-bcd-upcoming-posts",[],[222],"bcdup_script",[]]