{"id":89244,"date":"2018-07-27T05:56:51","date_gmt":"2018-07-27T05:56:51","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/missed-schedule-post-publisher\/"},"modified":"2026-03-14T03:32:05","modified_gmt":"2026-03-14T03:32:05","slug":"missed-schedule-post-publisher","status":"publish","type":"plugin","link":"https:\/\/os.wordpress.org\/plugins\/missed-schedule-post-publisher\/","author":8294162,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"2.3","stable_tag":"2.3","tested":"6.9.4","requires":"5.3","requires_php":"7.0","requires_plugins":null,"header_name":"Missed Schedule Post Publisher","header_author":"UfukArt","header_description":"This plugin publish missed scheduled posts.","assets_banners_color":"a68aca","last_updated":"2026-03-14 03:32:05","external_support_url":"","external_repository_url":"","donate_link":"https:\/\/github.com\/sponsors\/ufukart","header_plugin_uri":"https:\/\/www.zumbo.net\/missed-schedule-post-publisher-wordpress-plugin\/","header_author_uri":"https:\/\/www.zumbo.net","rating":5,"author_block_rating":0,"active_installs":7000,"downloads":56943,"num_ratings":3,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.3":{"tag":"1.0.3","author":"ufukart","date":"2024-08-25 18:58:57"},"1.0.4":{"tag":"1.0.4","author":"ufukart","date":"2025-04-08 03:31:11"},"1.0.5":{"tag":"1.0.5","author":"ufukart","date":"2026-01-13 01:01:44"},"1.0.6":{"tag":"1.0.6","author":"ufukart","date":"2026-02-08 01:45:32"},"2.0":{"tag":"2.0","author":"ufukart","date":"2026-02-10 23:27:31"},"2.1":{"tag":"2.1","author":"ufukart","date":"2026-02-09 01:18:12"},"2.2":{"tag":"2.2","author":"ufukart","date":"2026-02-10 23:32:24"},"2.3":{"tag":"2.3","author":"ufukart","date":"2026-03-14 03:32:05"}},"upgrade_notice":{"2.3":"<p><strong>CRITICAL RELIABILITY UPDATE!<\/strong> This version fixes the #1 cause of &quot;plugin not working&quot; complaints. Now works even when WP-Cron is disabled (common on shared hosting) and with aggressive caching. Features automatic fallback to page-visit checking, enhanced error recovery, and bulletproof lock management. <strong>If you&#039;ve ever had the plugin &quot;stop working&quot; - this update fixes it!<\/strong> All users should update immediately for maximum reliability.<\/p>","2.0":"<p>Major update! Now supports Custom Post Types (CPT) &amp; WooCommerce. Added batch processing for better performance and fixed timezone displays.<\/p>","1.0.5":"<p><strong>IMPORTANT SECURITY UPDATE!<\/strong> This version fixes critical security vulnerabilities including SQL injection protection. Update immediately! Also includes major performance improvements and full WordPress 6.9 compatibility.<\/p>","1.0.4":"<p>Minor update with improved plugin management features. Update recommended.<\/p>","1.0.3":"<p>PHP 8.2 compatibility update. Recommended for all users on modern PHP versions.<\/p>","1.0.2":"<p>Bug fix update. Resolves undefined index warning. Update recommended.<\/p>","1.0.1":"<p>Improved user interface with better menu organization. Update recommended.<\/p>\n\n<hr \/>"},"ratings":{"1":0,"2":0,"3":0,"4":0,"5":2},"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3456539,"resolution":"128x128","location":"assets","locale":""},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3456539,"resolution":"256x256","location":"assets","locale":""}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3456539,"resolution":"1544x500","location":"assets","locale":""},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3456539,"resolution":"772x250","location":"assets","locale":""}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.3","1.0.4","1.0.5","1.0.6","2.0","2.1","2.2","2.3"],"block_files":[],"assets_screenshots":[],"screenshots":{"1":"Simple, intuitive settings page - choose your check interval","2":"Confirmation message when settings are saved","3":"Plugin settings link directly from the plugins page","4":"Automatic publishing of missed scheduled posts"},"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[4567,69797,251393,4062,13417],"plugin_category":[40,59],"plugin_contributors":[89172],"plugin_business_model":[],"class_list":["post-89244","plugin","type-plugin","status-publish","hentry","plugin_tags-cron","plugin_tags-missed-schedule","plugin_tags-missed-scheduled-post","plugin_tags-schedule","plugin_tags-trigger","plugin_category-calendar-and-events","plugin_category-utilities-and-tools","plugin_contributors-ufukart","plugin_committers-ufukart"],"banners":{"banner":"https:\/\/ps.w.org\/missed-schedule-post-publisher\/assets\/banner-772x250.png?rev=3456539","banner_2x":"https:\/\/ps.w.org\/missed-schedule-post-publisher\/assets\/banner-1544x500.png?rev=3456539","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/missed-schedule-post-publisher\/assets\/icon-128x128.png?rev=3456539","icon_2x":"https:\/\/ps.w.org\/missed-schedule-post-publisher\/assets\/icon-256x256.png?rev=3456539","generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p><strong>Your Scheduled Posts, Published On Time - Guaranteed!<\/strong><\/p>\n\n<p>Have you ever scheduled a post in WordPress, only to find it still sitting in \"Missed Schedule\" status hours or days later? You're not alone! This frustrating issue affects thousands of WordPress sites, especially those with low traffic.<\/p>\n\n<p>Missed Schedule Post Publisher is the ultimate solution to WordPress's unreliable scheduling system. Install it once, configure your preferred check interval, and never worry about missed posts again!<\/p>\n\n<p><strong>Single Purpose, Zero Bloat<\/strong> - This plugin does ONE thing and does it exceptionally well: publish your missed scheduled posts reliably. No unnecessary features, no dashboard clutter, no performance overhead. Just a focused, efficient solution to a specific WordPress problem.<\/p>\n\n<h3>\ud83d\udd34 The Problem: WordPress's Scheduling Flaw<\/h3>\n\n<p>WordPress doesn't use a true cron system to publish scheduled posts. Instead, it relies on <strong>visitor activity<\/strong> to trigger scheduled tasks. This means:<\/p>\n\n<ul>\n<li><strong>Low-traffic sites<\/strong> can miss scheduled posts for hours or even days<\/li>\n<li><strong>Nighttime posts<\/strong> may not publish until someone visits your site<\/li>\n<li><strong>Time-sensitive content<\/strong> might go live too late to be effective<\/li>\n<li><strong>Editorial calendars<\/strong> become unreliable and unpredictable<\/li>\n<\/ul>\n\n<p>If your site doesn't get constant traffic, you're at risk of the dreaded \"Missed Schedule\" error.<\/p>\n\n<h3>\u2705 The Solution: Reliable, Automatic Publishing<\/h3>\n\n<p>Missed Schedule Post Publisher runs automatically at your chosen interval, checking for any posts that should have been published but weren't. When it finds them, it publishes them immediately\u2014no manual intervention required!<\/p>\n\n\n\n<h3>\ud83c\udf1f Key Features<\/h3>\n\n<h3>\ud83c\udfaf Single-Purpose Excellence<\/h3>\n\n<p>Does ONE thing perfectly: publishes missed scheduled posts. No feature creep, no unnecessary complexity. Just the solution you need, executed flawlessly.<\/p>\n\n<h3>\ud83d\udeab Absolutely Zero Bloat<\/h3>\n\n<p>No admin dashboard widgets, no unnecessary settings pages, no hidden features you'll never use. Clean, minimal, and efficient\u2014exactly as a plugin should be.<\/p>\n\n<h3>\u23f0 Automatic Missed Post Detection<\/h3>\n\n<p>Continuously monitors your scheduled posts and instantly detects any that have missed their publication time. No more manually checking your posts list!<\/p>\n\n<h3>\ud83c\udf9b\ufe0f Customizable Check Intervals<\/h3>\n\n<p>Choose how frequently the plugin checks for missed posts: <strong>5, 10, 15, 20, 30, or 60 minutes<\/strong>. Match the interval to your site's needs and traffic patterns.<\/p>\n\n<h3>\ud83d\ude80 Set It and Forget It<\/h3>\n\n<p>Once configured, the plugin works silently in the background. Your posts will be published on time, every time, without you having to think about it.<\/p>\n\n<h3>\ud83d\udcca Perfect for Low-Traffic Sites<\/h3>\n\n<p>Specifically designed for blogs, personal websites, and business sites that don't receive constant visitor traffic. Ensures your content strategy stays on track.<\/p>\n\n<h3>\u26a1 Lightweight &amp; Efficient<\/h3>\n\n<p>Ultra-lean codebase with optimized database queries. Zero bloat means zero impact on your site's performance, speed, or analytics data. No extra JavaScript, no unnecessary CSS, no wasted resources.<\/p>\n\n<h3>\ud83d\udd12 Enterprise-Grade Security<\/h3>\n\n<p>Built with WordPress best practices, including proper sanitization, nonce verification, and capability checks. Your site stays secure.<\/p>\n\n<h3>\ud83c\udf0d Translation Ready<\/h3>\n\n<p>Fully internationalized with i18n support. Ready to work in any language with proper translations.<\/p>\n\n<h3>\ud83d\udd27 Smart Dual-Mode Operation<\/h3>\n\n<p>Works seamlessly with <strong>both WP-Cron enabled and disabled environments<\/strong>. If WP-Cron is disabled on your server, the plugin automatically switches to page-visit-based checking with intelligent throttling. No configuration needed\u2014it just works!<\/p>\n\n<h3>\ud83c\udf10 DISABLE_WP_CRON Compatible<\/h3>\n\n<p>Perfect for <strong>shared hosting, high-traffic sites with aggressive caching, or server-level cron setups<\/strong>. When WP-Cron is disabled, the plugin runs efficiently on page visits without impacting performance.<\/p>\n\n<h3>\ud83d\udd27 WordPress Cron Integration<\/h3>\n\n<p>Leverages WordPress's cron system for reliable scheduling when available, ensuring checks happen consistently even during low-traffic periods.<\/p>\n\n<h3>\ud83d\udcf1 Works Everywhere<\/h3>\n\n<p>Compatible with all modern WordPress themes, caching plugins, and hosting environments. No conflicts, just results.<\/p>\n\n\n\n<h3>\ud83d\udca1 Why You Need This Plugin<\/h3>\n\n<h3>For Bloggers &amp; Content Creators<\/h3>\n\n<p>Maintain a consistent publishing schedule even if you're not online 24\/7. Your audience expects fresh content at specific times\u2014deliver it reliably.<\/p>\n\n<h3>For Business Websites<\/h3>\n\n<p>Time-sensitive announcements, product launches, and promotional content must go live on schedule. Don't risk delays that could cost you customers.<\/p>\n\n<h3>For Marketing Teams<\/h3>\n\n<p>Coordinate content releases across multiple channels without worrying about WordPress letting you down. Your editorial calendar becomes trustworthy again.<\/p>\n\n<h3>For Low-Traffic Sites<\/h3>\n\n<p>If you're building a new site or running a niche blog, you can't rely on visitor traffic to trigger your posts. This plugin ensures every post goes live on time.<\/p>\n\n<h3>For Peace of Mind<\/h3>\n\n<p>Stop manually checking if your scheduled posts went live. Stop worrying about the \"Missed Schedule\" error. Just focus on creating great content.<\/p>\n\n\n\n<h3>\ud83d\udc9d Support This Plugin<\/h3>\n\n<p>If Missed Schedule Post Publisher has saved you time and frustration, please consider:<\/p>\n\n<ul>\n<li>\u2b50 <strong><a href=\"https:\/\/wordpress.org\/support\/plugin\/missed-schedule-post-publisher\/reviews\/\">Leave a 5-star review<\/a><\/strong> - Help others discover this solution<\/li>\n<li>\ud83d\udc1b <strong><a href=\"https:\/\/wordpress.org\/support\/plugin\/missed-schedule-post-publisher\/\">Report bugs or request features<\/a><\/strong> - We value your feedback<\/li>\n<li>\u2615 <strong><a href=\"https:\/\/buymeacoffee.com\/ufukart\">Buy me a coffee<\/a><\/strong> - Support continued development<\/li>\n<li>\u2615 <strong><a href=\"https:\/\/github.com\/sponsors\/ufukart\">Github Sponsor<\/a><\/strong> - Support continued development<\/li>\n<li>\ud83d\udce2 <strong>Share with others<\/strong> - Help fellow WordPress users avoid the \"Missed Schedule\" nightmare<\/li>\n<\/ul>\n\n\n\n<h3>\ud83e\udd1d About the Developer<\/h3>\n\n<p>Created by <strong>UfukArt<\/strong> - Passionate about solving real WordPress problems with elegant, reliable solutions.<\/p>\n\n<p><strong>Other WordPress Plugins:<\/strong>\n* <a href=\"https:\/\/wordpress.org\/plugins\/optimwp\/\">OptimWP<\/a>** - WordPress Optimization Toolkit\n* <a href=\"https:\/\/wordpress.org\/plugins\/comment-approved-notifier-extended\/\">Comment Approved Notifier Extended<\/a>** - The Comment Approved Notifier Extended plugin for WordPress automatically sends an email notification to the comment author when their comment is approved on your website.<\/p>\n\n\n\n<p><strong>Your scheduled posts deserve better than WordPress's default system. Install Missed Schedule Post Publisher today and publish with confidence! \ud83d\ude80<\/strong><\/p>\n\n<!--section=installation-->\n<h3>\ud83d\udd3d Automatic Installation (Recommended)<\/h3>\n\n<ol>\n<li>Log in to your WordPress admin dashboard<\/li>\n<li>Navigate to <strong>Plugins \u2192 Add New<\/strong><\/li>\n<li>Search for \"<strong>Missed Schedule Post Publisher<\/strong>\"<\/li>\n<li>Click <strong>Install Now<\/strong> next to the plugin<\/li>\n<li>Click <strong>Activate<\/strong> once installation is complete<\/li>\n<li>Go to <strong>Settings \u2192 Missed Schedule Post Publisher<\/strong> to configure<\/li>\n<\/ol>\n\n<h3>\ud83d\udce6 Manual Installation<\/h3>\n\n<ol>\n<li>Download the plugin ZIP file from WordPress.org<\/li>\n<li>Go to <strong>Plugins \u2192 Add New \u2192 Upload Plugin<\/strong><\/li>\n<li>Click <strong>Choose File<\/strong> and select the downloaded ZIP<\/li>\n<li>Click <strong>Install Now<\/strong><\/li>\n<li>After installation, click <strong>Activate Plugin<\/strong><\/li>\n<li>Navigate to <strong>Settings \u2192 Missed Schedule Post Publisher<\/strong><\/li>\n<\/ol>\n\n<h3>\u2699\ufe0f Configuration Setup<\/h3>\n\n<ol>\n<li>Once activated, go to <strong>Settings \u2192 Missed Schedule Post Publisher<\/strong><\/li>\n<li>Select your preferred check interval from the dropdown menu:\n\n<ul>\n<li><strong>5 minutes<\/strong> - For time-critical content and active sites<\/li>\n<li><strong>10 minutes<\/strong> - Balanced option for most sites<\/li>\n<li><strong>15 minutes<\/strong> - Good for regular blogs<\/li>\n<li><strong>20-30 minutes<\/strong> - For less frequent publishing schedules<\/li>\n<li><strong>60 minutes<\/strong> - For sites with occasional scheduled posts<\/li>\n<\/ul><\/li>\n<li>Click <strong>Save Settings<\/strong><\/li>\n<li>You're done! The plugin will now monitor and publish missed posts automatically<\/li>\n<\/ol>\n\n<h3>\ud83c\udf89 That's It!<\/h3>\n\n<p>The plugin works silently in the background. You can update your settings anytime, and you'll see a confirmation message when settings are saved.<\/p>\n\n<!--section=faq-->\n<dl>\n<dt id=\"%F0%9F%A4%94%20what%20exactly%20does%20this%20plugin%20do%3F\"><h3>\ud83e\udd14 What exactly does this plugin do?<\/h3><\/dt>\n<dd><p>The plugin automatically detects WordPress posts that were scheduled to be published but missed their publication time due to the \"Missed Schedule\" error. It then publishes these posts immediately, ensuring your content goes live as intended.<\/p><\/dd>\n<dt id=\"%E2%9D%93%20why%20do%20scheduled%20posts%20sometimes%20fail%20to%20publish%20in%20wordpress%3F\"><h3>\u2753 Why do scheduled posts sometimes fail to publish in WordPress?<\/h3><\/dt>\n<dd><p>WordPress uses a pseudo-cron system that relies on visitor activity to trigger scheduled tasks. If your site doesn't receive visits during the time a post is scheduled, WordPress may fail to publish it. This is especially common on:\n* New or low-traffic websites\n* Sites scheduling posts during off-peak hours\n* Blogs with irregular visitor patterns\n* Websites behind aggressive caching<\/p><\/dd>\n<dt id=\"%E2%8F%B1%EF%B8%8F%20how%20often%20does%20the%20plugin%20check%20for%20missed%20posts%3F\"><h3>\u23f1\ufe0f How often does the plugin check for missed posts?<\/h3><\/dt>\n<dd><p>You have complete control! Choose from check intervals of 5, 10, 15, 20, 30, or 60 minutes. Select the frequency that matches your publishing needs and traffic patterns.<\/p><\/dd>\n<dt id=\"%F0%9F%94%A7%20what%20if%20my%20hosting%20provider%20has%20disable_wp_cron%20enabled%3F\"><h3>\ud83d\udd27 What if my hosting provider has DISABLE_WP_CRON enabled?<\/h3><\/dt>\n<dd><p>No problem! <strong>This is one of the key features of version 2.3+<\/strong>. The plugin automatically detects if WP-Cron is disabled and switches to a fallback mode that runs on page visits. You'll see a notice in the admin panel confirming this mode is active. The plugin uses intelligent throttling to ensure it only runs at your configured interval, regardless of how many page visits occur.<\/p><\/dd>\n<dt id=\"%F0%9F%9A%80%20will%20the%20plugin%20work%20on%20heavily%20cached%20sites%3F\"><h3>\ud83d\ude80 Will the plugin work on heavily cached sites?<\/h3><\/dt>\n<dd><p>Absolutely! Many caching plugins (like WP Rocket, W3 Total Cache) or CDN services (like Cloudflare) can prevent WP-Cron from triggering. Version 2.3+ handles this automatically by also checking during regular page visits. This dual approach ensures your posts are published even if WP-Cron is blocked by caching.<\/p><\/dd>\n<dt id=\"%E2%9A%99%EF%B8%8F%20does%20this%20plugin%20require%20server%20cron%20setup%3F\"><h3>\u2699\ufe0f Does this plugin require server cron setup?<\/h3><\/dt>\n<dd><p>No! Unlike some alternatives, you don't need SSH access or server cron configuration. The plugin works perfectly with WordPress's built-in cron system, and if that's disabled, it falls back to page-visit-based checking. It's a true \"install and forget\" solution.<\/p><\/dd>\n<dt id=\"%F0%9F%93%8A%20how%20can%20i%20tell%20which%20mode%20the%20plugin%20is%20using%3F\"><h3>\ud83d\udcca How can I tell which mode the plugin is using?<\/h3><\/dt>\n<dd><p>Go to <strong>Settings \u2192 Missed Schedule Post Publisher<\/strong>. The admin panel clearly shows:\n* If WP-Cron is disabled, you'll see: \"\u26a0\ufe0f WP-Cron is disabled on this server. The plugin will automatically run when visitors browse your site instead.\"\n* Current operating mode: Either \"Running on: Page visits\" or showing the next scheduled cron run time\n* Last check execution time<\/p><\/dd>\n<dt id=\"%F0%9F%8F%8E%EF%B8%8F%20will%20page-visit%20mode%20slow%20down%20my%20site%3F\"><h3>\ud83c\udfce\ufe0f Will page-visit mode slow down my site?<\/h3><\/dt>\n<dd><p>Not at all! The plugin uses intelligent throttling\u2014it only runs when your configured interval has passed. If the last check was 5 minutes ago and you've set a 15-minute interval, it won't run again for another 10 minutes, no matter how many visitors arrive. Plus, it only runs on frontend pages, never in the admin panel.<\/p><\/dd>\n<dt id=\"%F0%9F%90%8C%20will%20this%20plugin%20slow%20down%20my%20website%3F\"><h3>\ud83d\udc0c Will this plugin slow down my website?<\/h3><\/dt>\n<dd><p>No! The plugin is extremely lightweight and only performs a quick database query at your chosen interval. It's optimized for minimal resource usage and won't affect your site's loading speed or performance. Your visitors won't notice any difference.<\/p><\/dd>\n<dt id=\"%F0%9F%8E%AF%20why%20is%20this%20plugin%20so%20focused%20on%20just%20one%20feature%3F\"><h3>\ud83c\udfaf Why is this plugin so focused on just one feature?<\/h3><\/dt>\n<dd><p>Because it should be! Too many plugins try to do everything and end up doing nothing well. We believe in the UNIX philosophy: do one thing and do it perfectly. This plugin publishes missed scheduled posts\u2014nothing more, nothing less. No bloated dashboards, no unnecessary features, no complexity. Just a reliable solution that works every time. If you need other features, install other focused plugins. This keeps your WordPress installation lean, fast, and maintainable.<\/p><\/dd>\n<dt id=\"%F0%9F%93%8A%20does%20it%20affect%20my%20site%20analytics%3F\"><h3>\ud83d\udcca Does it affect my site analytics?<\/h3><\/dt>\n<dd><p>Not at all. The plugin works in the background and doesn't generate additional page views or affect your analytics data. Your traffic statistics remain accurate.<\/p><\/dd>\n<dt id=\"%F0%9F%93%9D%20does%20it%20work%20with%20custom%20post%20types%3F\"><h3>\ud83d\udcdd Does it work with custom post types?<\/h3><\/dt>\n<dd><p>Yes! As of version 2.0, the plugin automatically detects and handles all public Custom Post Types.\nThis includes WooCommerce products, Event Calendar items, Portfolio items, and any other custom content types you have on your site.<\/p><\/dd>\n<dt id=\"%F0%9F%9A%80%20can%20i%20use%20this%20on%20a%20high-traffic%20website%3F\"><h3>\ud83d\ude80 Can I use this on a high-traffic website?<\/h3><\/dt>\n<dd><p>Yes, absolutely! While the plugin is designed primarily for low-traffic sites where the \"Missed Schedule\" problem is most common, it works perfectly on high-traffic websites too. It adds an extra layer of reliability to your publishing workflow.<\/p><\/dd>\n<dt id=\"%F0%9F%94%A7%20how%20do%20i%20configure%20the%20plugin%20after%20installation%3F\"><h3>\ud83d\udd27 How do I configure the plugin after installation?<\/h3><\/dt>\n<dd><p>Simply go to <strong>Settings \u2192 Missed Schedule Post Publisher<\/strong> in your WordPress admin panel. Select your preferred check interval from the dropdown menu and click Save Settings. That's all you need to do!<\/p><\/dd>\n<dt id=\"%E2%9A%99%EF%B8%8F%20does%20this%20plugin%20require%20wp-cron%20to%20be%20enabled%3F\"><h3>\u2699\ufe0f Does this plugin require WP-Cron to be enabled?<\/h3><\/dt>\n<dd><p>The plugin integrates with WordPress's scheduling system for reliable execution. It works with standard WordPress installations and doesn't require special server configuration.<\/p><\/dd>\n<dt id=\"%F0%9F%92%BE%20is%20it%20compatible%20with%20caching%20plugins%3F\"><h3>\ud83d\udcbe Is it compatible with caching plugins?<\/h3><\/dt>\n<dd><p>Yes! The plugin is compatible with all major caching plugins including WP Rocket, W3 Total Cache, WP Super Cache, and others. It performs database checks that bypass the cache, ensuring missed posts are detected reliably.<\/p><\/dd>\n<dt id=\"%F0%9F%94%84%20what%20if%20i%20have%20a%20caching%20plugin%20with%20aggressive%20settings%3F\"><h3>\ud83d\udd04 What if I have a caching plugin with aggressive settings?<\/h3><\/dt>\n<dd><p>The plugin should work fine, but if you're using very aggressive caching that caches database queries, you may need to exclude the plugin's checks from being cached. Contact your caching plugin's support for guidance on database query exclusions.<\/p><\/dd>\n<dt id=\"%F0%9F%9B%A0%EF%B8%8F%20the%20plugin%20isn%27t%20working%20-%20what%20should%20i%20do%3F\"><h3>\ud83d\udee0\ufe0f The plugin isn't working - what should I do?<\/h3><\/dt>\n<dd><p>Try these troubleshooting steps:<\/p>\n\n<ol>\n<li><strong>Check for missed posts<\/strong>: Ensure you actually have posts with \"Missed Schedule\" status (go to Posts \u2192 All Posts and check the status)<\/li>\n<li><strong>Verify settings<\/strong>: Confirm the plugin is activated and configured with a check interval<\/li>\n<li><strong>Clear cache<\/strong>: If using a caching plugin, clear your cache completely<\/li>\n<li><strong>Check for conflicts<\/strong>: Temporarily disable other plugins to see if there's a conflict<\/li>\n<li><strong>Plugin refresh<\/strong>: Try deactivating and reactivating the plugin<\/li>\n<li><strong>Check error logs<\/strong>: Look at your WordPress debug log for any error messages<\/li>\n<li><strong>Contact support<\/strong>: If the issue persists, reach out via the support forum<\/li>\n<\/ol><\/dd>\n<dt id=\"%F0%9F%94%90%20is%20this%20plugin%20secure%3F\"><h3>\ud83d\udd10 Is this plugin secure?<\/h3><\/dt>\n<dd><p>Yes! Version 1.0.5 includes major security improvements:\n* Proper input sanitization and validation\n* Nonce verification for all admin actions\n* SQL injection protection using <code>$wpdb-&gt;prepare()<\/code>\n* Capability checks for admin operations\n* Built following WordPress security best practices<\/p><\/dd>\n<dt id=\"%F0%9F%8C%90%20can%20i%20translate%20this%20plugin%20to%20my%20language%3F\"><h3>\ud83c\udf10 Can I translate this plugin to my language?<\/h3><\/dt>\n<dd><p>Absolutely! The plugin is fully internationalized and ready for translation. You can use tools like Poedit or Loco Translate to create translations for your language.<\/p><\/dd>\n<dt id=\"%F0%9F%92%B0%20is%20there%20a%20premium%20version%3F\"><h3>\ud83d\udcb0 Is there a premium version?<\/h3><\/dt>\n<dd><p>No, this plugin is completely free with all features included forever. If you find it useful, please consider <a href=\"https:\/\/wordpress.org\/support\/plugin\/missed-schedule-post-publisher\/reviews\/\">leaving a 5-star review<\/a> or <a href=\"https:\/\/www.paypal.com\/donate\/?business=53EHQKQ3T87J8&amp;no_recurring=0&amp;currency_code=USD\">supporting development<\/a>!<\/p><\/dd>\n<dt id=\"%F0%9F%86%98%20where%20can%20i%20get%20support%3F\"><h3>\ud83c\udd98 Where can I get support?<\/h3><\/dt>\n<dd><p>For support, feature requests, or bug reports, please visit the <a href=\"https:\/\/wordpress.org\/support\/plugin\/missed-schedule-post-publisher\/\">WordPress.org support forum<\/a>. We monitor the forums regularly and respond to all inquiries.<\/p>\n\n<\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>2.3 - Critical Reliability Update \ud83d\ude80<\/h4>\n\n<p>This is a <strong>major reliability update<\/strong> that solves the #1 cause of \"plugin not working\" reports: disabled WP-Cron and aggressive caching.<\/p>\n\n<h3>\ud83c\udfaf New Features<\/h3>\n\n<p><strong>\u2728 Smart Dual-Mode Operation<\/strong>\n* <strong>Automatic DISABLE_WP_CRON detection<\/strong> - Plugin now works perfectly even when WP-Cron is disabled\n* <strong>Page-visit fallback mode<\/strong> - If WP-Cron doesn't trigger, the plugin runs on frontend page visits instead\n* <strong>Intelligent throttling<\/strong> - Ensures checks only happen at your configured interval, preventing performance impact\n* <strong>Zero configuration required<\/strong> - Automatically detects the best method and switches seamlessly<\/p>\n\n<p><strong>\ud83d\udee1\ufe0f Enhanced Reliability<\/strong>\n* <strong>Try-catch-finally protection<\/strong> - Prevents lock mechanism from getting stuck even if fatal errors occur\n* <strong>Improved error handling<\/strong> - Better logging and recovery from unexpected failures\n* <strong>Lock cleanup guarantee<\/strong> - Transient lock is always released, even if the script crashes<\/p>\n\n<p><strong>\ud83d\udcca Admin Panel Improvements<\/strong>\n* <strong>WP-Cron status indicator<\/strong> - Shows if WP-Cron is disabled with a clear notice\n* <strong>Operating mode display<\/strong> - See at a glance whether plugin is using WP-Cron or page visits\n* <strong>Better status information<\/strong> - More informative \"Current Status\" section in settings<\/p>\n\n<h3>\ud83d\udd27 Technical Improvements<\/h3>\n\n<ul>\n<li>Added <code>check_and_publish_on_page_load()<\/code> method for page-visit-based checking<\/li>\n<li>Wrapped <code>publish_missed_posts()<\/code> in try-catch-finally for bulletproof lock management<\/li>\n<li>Added intelligent throttling to prevent excessive execution on high-traffic sites<\/li>\n<li>Admin panel now skipped during page-visit checks to reduce overhead<\/li>\n<li>Enhanced compatibility with caching plugins (WP Rocket, W3 Total Cache, Cloudflare, etc.)<\/li>\n<\/ul>\n\n<h3>\ud83d\udc1b Bug Fixes<\/h3>\n\n<ul>\n<li><strong>Fixed:<\/strong> Plugin not working when <code>DISABLE_WP_CRON = true<\/code> in wp-config.php<\/li>\n<li><strong>Fixed:<\/strong> Lock mechanism getting stuck after fatal errors or timeouts<\/li>\n<li><strong>Fixed:<\/strong> No fallback when WP-Cron is blocked by aggressive caching<\/li>\n<li><strong>Fixed:<\/strong> Plugin remaining silent on low-traffic sites with caching enabled<\/li>\n<\/ul>\n\n<h3>\ud83d\udca1 Why This Update Matters<\/h3>\n\n<p><strong>Before 2.3:<\/strong>\n\u274c If WP-Cron was disabled \u2192 Plugin didn't work at all\n\u274c Full-page caching \u2192 WP-Cron never triggered \u2192 Posts never published\n\u274c Low traffic + caching \u2192 Scheduled posts missed indefinitely\n\u274c Lock gets stuck \u2192 Plugin stops working until manual intervention<\/p>\n\n<p><strong>After 2.3:<\/strong>\n\u2705 Works with WP-Cron enabled OR disabled\n\u2705 Works with any caching plugin or CDN\n\u2705 Works on low-traffic sites\n\u2705 Never gets stuck - self-recovering\n\u2705 True \"set and forget\" reliability<\/p>\n\n<h3>\ud83c\udfaf Who Should Update?<\/h3>\n\n<p><strong>EVERYONE should update to 2.3<\/strong>, but especially if you:\n* Use shared hosting (often has DISABLE_WP_CRON enabled)\n* Use caching plugins like WP Rocket, W3 Total Cache, or similar\n* Use CDN services like Cloudflare that cache aggressively\n* Have a low-traffic site or blog\n* Schedule posts during off-peak hours\n* Have experienced \"plugin not working\" in the past<\/p>\n\n<h3>\ud83d\udcda Documentation Updates<\/h3>\n\n<ul>\n<li>Updated FAQ with comprehensive WP-Cron and caching information<\/li>\n<li>Added troubleshooting guide for common scenarios<\/li>\n<li>Enhanced feature descriptions to highlight dual-mode operation<\/li>\n<\/ul>\n\n<h4>2.2<\/h4>\n\n<p>\ud83d\udd27 Improvements\nFixed plugin activation and deactivation logic to fully comply with WordPress standards.\nMoved register_activation_hook and register_deactivation_hook outside the constructor and bound them using static class methods for deterministic behavior.\nEnsured default plugin options are created on activation, even if the admin page is never visited.\nImproved cron scheduling reliability by preventing duplicate or missing cron events.<\/p>\n\n<p>\ud83e\uddf9 Cleanup\nPlugin options are now cleanly removed on deactivation, leaving no residual data in the database.\nImproved cron cleanup to ensure no orphaned scheduled events remain after deactivation.<\/p>\n\n<h4>2.1<\/h4>\n\n<p>\ud83d\udd12 Security\nFixed a security issue where admin settings could be updated before capability checks.\nCapability (manage_options) validation is now performed before processing POST requests.\nAdded additional hardening to prevent unauthorized settings updates.<\/p>\n\n<p>\u23f0 Bug Fixes\nFixed an incorrect timezone calculation that caused double GMT offset conversion in admin UI.\nReplaced manual date offset logic with WordPress-native time handling for accurate timezone and DST support.<\/p>\n\n<p>\ud83e\udde9 Improvements\nImproved admin page logic for safer and more predictable settings handling.\nInternal code cleanup to better align with WordPress coding and security best practices.<\/p>\n\n<h4>2.0<\/h4>\n\n<ul>\n<li><strong>New:<\/strong> Added support for all public Custom Post Types (CPT), WooCommerce products, and Events.<\/li>\n<li><strong>Improved:<\/strong> Implemented batch processing (limit 10) to prevent server timeouts on large queues.<\/li>\n<li><strong>Improved:<\/strong> Admin interface now shows \"Last Run\" and \"Next Run\" times in the website's Local Timezone instead of GMT.<\/li>\n<li><strong>Fixed:<\/strong> Fixed internationalization issue; translation files now load correctly.<\/li>\n<li><strong>Tweak:<\/strong> Adjusted cron scheduling logic to avoid conflicts on activation.<\/li>\n<\/ul>\n\n<h4>1.0.6<\/h4>\n\n<ul>\n<li>**Fixed: Failsafe cron mechanism now uses recurring events instead of single events<\/li>\n<li>**Fixed: SQL query now orders posts by date to publish oldest first<\/li>\n<li>**Fixed: XSS vulnerabilities with proper escaping functions<\/li>\n<li>**Fixed: CSRF security with proper nonce verification failure handling<\/li>\n<li>**Fixed: Error handling for failed post publishing with error logging<\/li>\n<li>**Fixed: Type safety with explicit integer casting<\/li>\n<li>**Improved: Added error logging for debugging<\/li>\n<li>**Improved: User feedback after saving settings<\/li>\n<li>**Improved: Admin UI now shows next scheduled run time<\/li>\n<li>**Improved: Better form layout using WordPress standards<\/li>\n<\/ul>\n\n<h4>1.0.5 - Major Security &amp; Performance Update<\/h4>\n\n<h3>\ud83d\udd12 Security Enhancements<\/h3>\n\n<ul>\n<li><strong>Fixed critical SQL injection vulnerability<\/strong> using <code>$wpdb-&gt;prepare()<\/code> for all database queries<\/li>\n<li><strong>Added comprehensive nonce verification<\/strong> for all admin form submissions<\/li>\n<li><strong>Implemented capability checks<\/strong> to ensure only authorized users can modify settings<\/li>\n<li><strong>Strengthened input sanitization<\/strong> for all user-submitted data<\/li>\n<\/ul>\n\n<h3>\ud83c\udfd7\ufe0f Code Architecture Improvements<\/h3>\n\n<ul>\n<li><strong>Complete code refactoring<\/strong> using Object-Oriented Programming (OOP) architecture<\/li>\n<li><strong>Improved code organization<\/strong> with separate classes for admin and public functionality<\/li>\n<li><strong>Better separation of concerns<\/strong> making the codebase more maintainable<\/li>\n<li><strong>Added comprehensive inline documentation<\/strong> for developers<\/li>\n<\/ul>\n\n<h3>\u26a1 Performance Optimizations<\/h3>\n\n<ul>\n<li><strong>Optimized database queries<\/strong> for faster scheduled post detection<\/li>\n<li><strong>Reduced unnecessary hook registrations<\/strong> to minimize overhead<\/li>\n<li><strong>Improved memory usage<\/strong> with better variable handling and cleanup<\/li>\n<li><strong>More efficient cron scheduling<\/strong> for reliable execution<\/li>\n<\/ul>\n\n<h3>\ud83c\udf0d Internationalization<\/h3>\n\n<ul>\n<li><strong>Full i18n support<\/strong> - Plugin is now translation-ready<\/li>\n<li><strong>Proper text domain usage<\/strong> throughout the codebase<\/li>\n<li><strong>Ready for translation<\/strong> into any language<\/li>\n<\/ul>\n\n<h3>\ud83c\udfa8 User Interface Improvements<\/h3>\n\n<ul>\n<li><strong>Enhanced admin interface<\/strong> with clearer labels and instructions<\/li>\n<li><strong>Better user feedback<\/strong> with improved success\/error messages<\/li>\n<li><strong>Cleaner settings page<\/strong> design for better usability<\/li>\n<li><strong>Added helpful tooltips<\/strong> and descriptions<\/li>\n<\/ul>\n\n<h3>\ud83d\udc1b Bug Fixes<\/h3>\n\n<ul>\n<li><strong>Fixed timezone handling issues<\/strong> that could cause incorrect post scheduling<\/li>\n<li><strong>Resolved potential race conditions<\/strong> in the post publishing process<\/li>\n<li><strong>Fixed admin notice display problems<\/strong> that could show notices on wrong pages<\/li>\n<li><strong>Corrected timing issues<\/strong> with cron execution<\/li>\n<\/ul>\n\n<h3>\ud83d\udd27 Technical Improvements<\/h3>\n\n<ul>\n<li><strong>Tested with PHP 8.4<\/strong> - Fully compatible with the latest PHP version<\/li>\n<li><strong>Updated minimum WordPress version<\/strong> requirements<\/li>\n<li><strong>Improved error handling<\/strong> throughout the plugin<\/li>\n<li><strong>Better logging<\/strong> for debugging purposes<\/li>\n<\/ul>\n\n<h4>1.0.4<\/h4>\n\n<ul>\n<li><strong>Added:<\/strong> Quick Settings link on the plugins page for easy access<\/li>\n<li><strong>Added:<\/strong> Donate link to support continued development<\/li>\n<li><strong>Improved:<\/strong> Plugin action links organization<\/li>\n<\/ul>\n\n<h4>1.0.3<\/h4>\n\n<ul>\n<li><strong>Compatibility:<\/strong> Fully tested and compatible with PHP 5.6 through PHP 8.2<\/li>\n<li><strong>Improved:<\/strong> Code optimization for better PHP 8.x compatibility<\/li>\n<li><strong>Improved:<\/strong> Minor performance enhancements<\/li>\n<li><strong>Fixed:<\/strong> Deprecated function warnings in PHP 8.x<\/li>\n<\/ul>\n\n<h4>1.0.2<\/h4>\n\n<ul>\n<li><strong>Fixed:<\/strong> Critical bug causing \"Undefined Index\" warning in some configurations<\/li>\n<li><strong>Improved:<\/strong> Error handling for edge cases<\/li>\n<\/ul>\n\n<h4>1.0.1<\/h4>\n\n<ul>\n<li><strong>Changed:<\/strong> Removed plugin menu from WordPress Toolbar for cleaner interface<\/li>\n<li><strong>Changed:<\/strong> Moved settings menu under WordPress Settings section<\/li>\n<li><strong>Improved:<\/strong> Better menu organization and accessibility<\/li>\n<\/ul>\n\n<h4>1.0 - Initial Release<\/h4>\n\n<ul>\n<li>\ud83c\udf89 <strong>First public release<\/strong><\/li>\n<li>\u2705 Automatic detection of missed scheduled posts<\/li>\n<li>\u2705 Customizable check intervals (5, 10, 15, 20, 30, 60 minutes)<\/li>\n<li>\u2705 Simple, user-friendly settings interface<\/li>\n<li>\u2705 Lightweight and performance-optimized<\/li>\n<li>\u2705 Compatible with all major WordPress themes and plugins<\/li>\n<\/ul>","raw_excerpt":"\ud83c\udfaf Never miss scheduled posts again! Automatically publishes missed scheduled posts on time, every time. Zero bloat, single purpose, reliable.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/os.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/89244","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/os.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/os.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/os.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=89244"}],"author":[{"embeddable":true,"href":"https:\/\/os.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/ufukart"}],"wp:attachment":[{"href":"https:\/\/os.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=89244"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/os.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=89244"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/os.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=89244"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/os.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=89244"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/os.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=89244"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/os.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=89244"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}