[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fOcHpMvN210nsXvsBiHd4ObtVhQ2aJJMwOJyLMctljlI":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":23,"download_link":24,"security_score":25,"vuln_count":26,"unpatched_count":26,"last_vuln_date":27,"fetched_at":28,"vulnerabilities":29,"developer":30,"crawl_stats":27,"alternatives":35,"analysis":127,"fingerprints":358},"future","Future","1.2.4","msudvarg","https:\u002F\u002Fprofiles.wordpress.org\u002Fmsudvarg\u002F","\u003Cp>The ‘Future’ plugin allows posts with future scheduled dates to be integrated into a site. This can be useful, for example, with events that have associated dates in the future. Such future posts can, with this plugin, be displayed, both individually and in archive lists. This plugin also adds functionality to the built-in calendar widget. It adds a checkbox to include future posts in the calendar, and it allows the calendar to be configured to show posts from a single category.\u003C\u002Fp>\n","Integrates future-dated posts into your blog. Adds future posts and category selection to Wordpress's built-in calendar widget.",200,10573,100,7,"2014-10-18T18:35:00.000Z","4.0.38","3.6.0","",[4,20,7,21,22],"future-posts","schedule","scheduled","http:\u002F\u002Fwww.sudvarg.com\u002Fwordpress.php","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Ffuture.1.2.4.zip",85,0,null,"2026-03-15T15:16:48.613Z",[],{"slug":7,"display_name":7,"profile_url":8,"plugin_count":31,"total_installs":11,"avg_security_score":25,"avg_patch_time_days":32,"trust_score":33,"computed_at":34},1,30,84,"2026-04-04T06:56:55.681Z",[36,55,75,93,110],{"slug":37,"name":38,"version":39,"author":40,"author_profile":41,"description":42,"short_description":43,"active_installs":44,"downloaded":45,"rating":46,"num_ratings":47,"last_updated":48,"tested_up_to":49,"requires_at_least":50,"requires_php":18,"tags":51,"homepage":18,"download_link":54,"security_score":25,"vuln_count":26,"unpatched_count":26,"last_vuln_date":27,"fetched_at":28},"wp-missed-schedule-posts","WP Missed Schedule Posts","1.1","NewVariable","https:\u002F\u002Fprofiles.wordpress.org\u002Fnewvariable\u002F","\u003Cp>This plugin will publish all the future\u002Fscheduled post missed by WordPress cron.  It will check it every 15min and publish 20 posts at a time.\u003C\u002Fp>\n","Auto publish future\u002Fscheduled posts missed by WordPress cron",10000,57692,60,6,"2017-07-20T10:54:00.000Z","4.8.28","3.6",[4,20,52,22,53],"posts","scheduled-posts","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwp-missed-schedule-posts.1.1.zip",{"slug":56,"name":57,"version":58,"author":59,"author_profile":60,"description":61,"short_description":62,"active_installs":63,"downloaded":64,"rating":65,"num_ratings":66,"last_updated":67,"tested_up_to":68,"requires_at_least":69,"requires_php":70,"tags":71,"homepage":73,"download_link":74,"security_score":25,"vuln_count":26,"unpatched_count":26,"last_vuln_date":27,"fetched_at":28},"scheduled-post-guardian","Scheduled Post Guardian","1.1.4","Mark Jaquith","https:\u002F\u002Fprofiles.wordpress.org\u002Fmarkjaquith\u002F","\u003Cp>Some WordPress sites have problems with scheduled posts, where they don’t get published at the right time. Instead they appear as “missed schedule”. This plugin monitors scheduled posts, and makes sure that doesn’t happen.\u003C\u002Fp>\n","Watches over scheduled posts, and makes sure they don't miss their scheduled time",70,10843,56,9,"2024-02-06T20:09:00.000Z","6.4.8","5.2","7.2",[72,20,53],"cron","https:\u002F\u002Fgithub.com\u002Fmarkjaquith\u002Fscheduled-post-guardian","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fscheduled-post-guardian.1.1.4.zip",{"slug":76,"name":77,"version":78,"author":79,"author_profile":80,"description":81,"short_description":82,"active_installs":83,"downloaded":84,"rating":26,"num_ratings":26,"last_updated":85,"tested_up_to":86,"requires_at_least":87,"requires_php":18,"tags":88,"homepage":91,"download_link":92,"security_score":25,"vuln_count":26,"unpatched_count":26,"last_vuln_date":27,"fetched_at":28},"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.",10,1304,"2016-10-18T12:16:00.000Z","4.6.30","2.8",[20,52,53,89,90],"upcoming-posts","widget","http:\u002F\u002Fwww.indianpeakswebdesign.com\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Flinked-future-posts-widget.1.0.0.zip",{"slug":94,"name":95,"version":78,"author":96,"author_profile":97,"description":98,"short_description":99,"active_installs":83,"downloaded":100,"rating":26,"num_ratings":26,"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":26,"unpatched_count":26,"last_vuln_date":27,"fetched_at":28},"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,20,53,89],"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":13,"downloaded":118,"rating":13,"num_ratings":119,"last_updated":120,"tested_up_to":121,"requires_at_least":122,"requires_php":18,"tags":123,"homepage":125,"download_link":126,"security_score":25,"vuln_count":26,"unpatched_count":26,"last_vuln_date":27,"fetched_at":28},"my-missed-schedule","MY Missed Schedule","1.0.1","smyx","https:\u002F\u002Fprofiles.wordpress.org\u002Fsmyx\u002F","\u003Cp>重发定时失败的文章。Find missed schedule posts and it republish them correctly. Once every five minutes.\u003C\u002Fp>\n\u003Ch4>不是已经有类似的插件了吗？比如 WP Missed Schedule\u003C\u002Fh4>\n\u003Cp>如果你发布文章后还有后续动作，比如同步文章到微博，发邮件通知等等，在网站并发时（同一时间很多人挤进来），这个时候触发了wp-missed-schedule等插件会导致同步多条微博或者多封邮件。\u003C\u002Fp>\n\u003Cp>MY Missed Schedule 插件用了定时的原理，这种方式不会导致多次触发。这也是我做这个插件的原因，因为wp-missed-schedule无法跟 \u003Ca href=\"https:\u002F\u002Fwptao.com\u002Fwp-connect.html\" rel=\"nofollow ugc\">WordPress连接微博\u003C\u002Fa> 的“同步微博”功能完美组合使用。如果你也碰到类似问题，一起来试试 MY Missed Schedule\u003C\u002Fp>\n","重发定时失败的文章。Find missed schedule posts and it republish them correctly. Once every five minutes.",11366,3,"2018-03-18T16:58:00.000Z","4.9.29","2.9",[4,124,52,21,22],"missed","https:\u002F\u002Fwptao.com\u002Fmy-missed-schedule.html","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fmy-missed-schedule.zip",{"attackSurface":128,"codeSignals":192,"taintFlows":321,"riskAssessment":349,"analyzedAt":357},{"hooks":129,"ajaxHandlers":188,"restRoutes":189,"shortcodes":190,"cronEvents":191,"entryPointCount":26,"unprotectedCount":26},[130,136,141,145,149,153,157,160,163,166,168,172,176,180,184],{"type":131,"name":132,"callback":133,"file":134,"line":135},"filter","the_posts","futurems_show_posts","future.php",46,{"type":137,"name":138,"callback":139,"file":134,"line":140},"action","widgets_init","futurems_widget_init",116,{"type":131,"name":142,"callback":143,"file":134,"line":144},"get_calendar","futurems_get_calendar",349,{"type":131,"name":146,"callback":147,"file":134,"line":148},"post_link","futurems_permalink",392,{"type":137,"name":150,"callback":151,"file":134,"line":152},"pre_get_posts","futurems_show_post_list",394,{"type":131,"name":154,"callback":155,"file":134,"line":156},"get_next_post_where","futurems_get_adjacent_post",395,{"type":131,"name":158,"callback":155,"file":134,"line":159},"get_previous_post_where",396,{"type":137,"name":150,"callback":161,"file":134,"line":162},"futurems_show_all_post_list",399,{"type":131,"name":154,"callback":164,"file":134,"line":165},"futurems_get_adjacent_post_all",400,{"type":131,"name":158,"callback":164,"file":134,"line":167},401,{"type":131,"name":169,"callback":170,"file":134,"line":171},"paginate_links","futurems_paginate_links",417,{"type":137,"name":173,"callback":174,"priority":83,"file":134,"line":175},"wp_update_nav_menu_item","future_nav_update",421,{"type":131,"name":177,"callback":178,"file":134,"line":179},"wp_setup_nav_menu_item","future_nav_item",436,{"type":131,"name":181,"callback":182,"priority":83,"file":134,"line":183},"wp_edit_nav_menu_walker","future_nav_edit_walker",442,{"type":131,"name":185,"callback":186,"priority":83,"file":134,"line":187},"nav_menu_link_attributes","future_nav_menu_links",715,[],[],[],[],{"dangerousFunctions":193,"sqlUsage":194,"outputEscaping":211,"fileOperations":26,"externalRequests":26,"nonceChecks":26,"capabilityChecks":26,"bundledLibraries":320},[],{"prepared":31,"raw":47,"locations":195},[196,199,201,204,206,209],{"file":134,"line":197,"context":198},143,"$wpdb->get_var() with variable interpolation",{"file":134,"line":200,"context":198},165,{"file":134,"line":202,"context":203},181,"$wpdb->get_row() with variable interpolation",{"file":134,"line":205,"context":203},187,{"file":134,"line":207,"context":208},242,"$wpdb->get_results() with variable interpolation",{"file":134,"line":210,"context":208},260,{"escaped":212,"rawEcho":213,"locations":214},52,58,[215,218,220,222,224,225,226,228,230,232,233,235,237,239,240,242,244,246,248,250,252,254,255,257,259,260,262,264,265,267,269,270,272,274,275,277,279,280,282,284,285,287,289,291,293,295,297,299,301,303,305,307,309,310,312,314,316,318],{"file":134,"line":216,"context":217},77,"raw output",{"file":134,"line":219,"context":217},79,{"file":134,"line":221,"context":217},83,{"file":134,"line":223,"context":217},99,{"file":134,"line":13,"context":217},{"file":134,"line":13,"context":217},{"file":134,"line":227,"context":217},102,{"file":134,"line":229,"context":217},105,{"file":134,"line":231,"context":217},106,{"file":134,"line":231,"context":217},{"file":134,"line":234,"context":217},130,{"file":134,"line":236,"context":217},316,{"file":134,"line":238,"context":217},545,{"file":134,"line":238,"context":217},{"file":134,"line":241,"context":217},548,{"file":134,"line":243,"context":217},553,{"file":134,"line":245,"context":217},566,{"file":134,"line":247,"context":217},578,{"file":134,"line":249,"context":217},585,{"file":134,"line":251,"context":217},588,{"file":134,"line":253,"context":217},590,{"file":134,"line":253,"context":217},{"file":134,"line":256,"context":217},595,{"file":134,"line":258,"context":217},597,{"file":134,"line":258,"context":217},{"file":134,"line":261,"context":217},601,{"file":134,"line":263,"context":217},603,{"file":134,"line":263,"context":217},{"file":134,"line":266,"context":217},607,{"file":134,"line":268,"context":217},608,{"file":134,"line":268,"context":217},{"file":134,"line":271,"context":217},613,{"file":134,"line":273,"context":217},615,{"file":134,"line":273,"context":217},{"file":134,"line":276,"context":217},619,{"file":134,"line":278,"context":217},621,{"file":134,"line":278,"context":217},{"file":134,"line":281,"context":217},625,{"file":134,"line":283,"context":217},627,{"file":134,"line":283,"context":217},{"file":134,"line":286,"context":217},639,{"file":134,"line":288,"context":217},642,{"file":134,"line":290,"context":217},644,{"file":134,"line":292,"context":217},649,{"file":134,"line":294,"context":217},651,{"file":134,"line":296,"context":217},656,{"file":134,"line":298,"context":217},657,{"file":134,"line":300,"context":217},686,{"file":134,"line":302,"context":217},687,{"file":134,"line":304,"context":217},696,{"file":134,"line":306,"context":217},697,{"file":134,"line":308,"context":217},700,{"file":134,"line":308,"context":217},{"file":134,"line":311,"context":217},701,{"file":134,"line":313,"context":217},702,{"file":134,"line":315,"context":217},703,{"file":134,"line":317,"context":217},704,{"file":134,"line":319,"context":217},705,[],[322,340],{"entryPoint":323,"graph":324,"unsanitizedCount":31,"severity":339},"start_el (future.php:495)",{"nodes":325,"edges":336},[326,331],{"id":327,"type":328,"label":329,"file":134,"line":330},"n0","source","$_GET",523,{"id":332,"type":333,"label":334,"file":134,"line":238,"wp_function":335},"n1","sink","echo() [XSS]","echo",[337],{"from":327,"to":332,"sanitized":338},false,"medium",{"entryPoint":341,"graph":342,"unsanitizedCount":31,"severity":348},"\u003Cfuture> (future.php:0)",{"nodes":343,"edges":346},[344,345],{"id":327,"type":328,"label":329,"file":134,"line":330},{"id":332,"type":333,"label":334,"file":134,"line":238,"wp_function":335},[347],{"from":327,"to":332,"sanitized":338},"low",{"summary":350,"deductions":351},"The \"future\" plugin v1.2.4 exhibits a generally good security posture in terms of its attack surface, with no identified entry points that are unprotected by authentication. The absence of known CVEs and historical vulnerabilities further strengthens this perception, indicating a well-maintained and secure codebase.\n\nHowever, the static analysis reveals areas for improvement. A significant concern is the low percentage of SQL queries using prepared statements. While there are no critical taint flows or dangerous functions, the presence of 7 SQL queries where only 14% are prepared suggests a potential risk of SQL injection vulnerabilities, especially if the data processed by these queries is user-controlled and not adequately sanitized beforehand. The output escaping, with only 47% properly escaped, also presents a risk of Cross-Site Scripting (XSS) vulnerabilities.\n\nDespite these identified concerns, the plugin's strengths lie in its minimal attack surface and lack of historical security issues. The absence of external HTTP requests and file operations simplifies the security landscape. The overall recommendation is to prioritize addressing the SQL query preparation and output escaping to further harden the plugin.",[352,355],{"reason":353,"points":354},"Low percentage of prepared SQL statements",8,{"reason":356,"points":47},"Low percentage of properly escaped output","2026-03-16T20:16:18.391Z",{"wat":359,"direct":368},{"assetPaths":360,"generatorPatterns":363,"scriptPaths":364,"versionParams":365},[361,362],"\u002Fwp-content\u002Fplugins\u002Ffuture\u002Ffuture.css","\u002Fwp-content\u002Fplugins\u002Ffuture\u002Ffuture.js",[],[362],[366,367],"future\u002Fstyle.css?ver=","future\u002Ffuture.js?ver=",{"cssClasses":369,"htmlComments":371,"htmlAttributes":372,"restEndpoints":375,"jsGlobals":376,"shortcodeOutput":377},[370],"widget_calendar",[],[373,374],"id=\"calendar_wrap\"","id=\"wp-calendar\"",[],[143],[]]