{"id":369086,"date":"2026-09-17T17:29:49","date_gmt":"2026-09-17T17:29:49","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/schedulelens-cron-viewer\/"},"modified":"2026-09-23T03:22:44","modified_gmt":"2026-09-23T03:22:44","slug":"schedulelens-cron-viewer","status":"publish","type":"plugin","link":"https:\/\/ssw.wordpress.org\/plugins\/schedulelens-cron-viewer\/","author":17924966,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.1","stable_tag":"1.0.1","tested":"7.1.2","requires":"6.0","requires_php":"7.4","requires_plugins":null,"header_name":"ScheduleLens - Cron Viewer & Manager","header_author":"Monowar Hossain","header_description":"See all scheduled jobs, catch overdue tasks, run or pause events, and check cron health - lightweight, admin-only, 100% free.","assets_banners_color":"76a5ca","last_updated":"2026-09-23 03:22:44","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/devmonowar.github.io\/schedulelens-cron-viewer\/","header_author_uri":"https:\/\/devmonowar.github.io\/","rating":5,"author_block_rating":0,"active_installs":0,"downloads":169,"num_ratings":1,"support_threads":1,"support_threads_resolved":1,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"kstmonowar","date":"2026-09-21 18:34:36","revision":3706142},"1.0.1":{"tag":"1.0.1","author":"kstmonowar","date":"2026-09-23 03:22:44","revision":3708401}},"upgrade_notice":{"1.0.1":"<p>Action feedback fixed (no more false &quot;success&quot;), exact delete, safer Run now. No settings change needed.<\/p>"},"ratings":{"1":0,"2":0,"3":0,"4":0,"5":1},"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3700711,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3700711,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3700789,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3700789,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0","1.0.1"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3700711,"resolution":"1","location":"assets","locale":"","width":1366,"height":1514},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3700711,"resolution":"2","location":"assets","locale":"","width":1366,"height":964},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3700711,"resolution":"3","location":"assets","locale":"","width":1366,"height":1653},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3700711,"resolution":"4","location":"assets","locale":"","width":1366,"height":900},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3700711,"resolution":"5","location":"assets","locale":"","width":1366,"height":900}},"screenshots":{"1":"All cron events - repeat, next run, source plugin.","2":"Search and filter - find any job by hook name.","3":"Run now, Pause\/Resume, Delete safely (core protected).","4":"Health tab - Green\/Yellow\/Red + fix steps.","5":"Last 100 runs log with duration."}},"plugin_section":[],"plugin_tags":[4567,281849,69797,25064,4568],"plugin_category":[59],"plugin_contributors":[269133],"plugin_business_model":[],"class_list":["post-369086","plugin","type-plugin","status-publish","hentry","plugin_tags-cron","plugin_tags-cron-job-manager","plugin_tags-missed-schedule","plugin_tags-scheduled-posts","plugin_tags-wp-cron","plugin_category-utilities-and-tools","plugin_contributors-kstmonowar","plugin_committers-kstmonowar"],"banners":{"banner":"https:\/\/ps.w.org\/schedulelens-cron-viewer\/assets\/banner-772x250.png?rev=3700789","banner_2x":"https:\/\/ps.w.org\/schedulelens-cron-viewer\/assets\/banner-1544x500.png?rev=3700789","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/schedulelens-cron-viewer\/assets\/icon-128x128.png?rev=3700711","icon_2x":"https:\/\/ps.w.org\/schedulelens-cron-viewer\/assets\/icon-256x256.png?rev=3700711","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/schedulelens-cron-viewer\/assets\/screenshot-1.png?rev=3700711","caption":"All cron events - repeat, next run, source plugin."},{"src":"https:\/\/ps.w.org\/schedulelens-cron-viewer\/assets\/screenshot-2.png?rev=3700711","caption":"Search and filter - find any job by hook name."},{"src":"https:\/\/ps.w.org\/schedulelens-cron-viewer\/assets\/screenshot-3.png?rev=3700711","caption":"Run now, Pause\/Resume, Delete safely (core protected)."},{"src":"https:\/\/ps.w.org\/schedulelens-cron-viewer\/assets\/screenshot-4.png?rev=3700711","caption":"Health tab - Green\/Yellow\/Red + fix steps."},{"src":"https:\/\/ps.w.org\/schedulelens-cron-viewer\/assets\/screenshot-5.png?rev=3700711","caption":"Last 100 runs log with duration."}],"raw_content":"<!--section=description-->\n<p>ScheduleLens shows every scheduled job on your WordPress site in plain words. It is a lightweight cron manager for WordPress that helps you fix missed schedule and wp-cron not working issues fast.<\/p>\n\n<ul>\n<li>All cron events with repeat, next run, and source (which plugin added it)<\/li>\n<li>Overdue badge in red, Core badge in gray<\/li>\n<li>Run now, Pause \/ Resume, Delete custom jobs<\/li>\n<li>Add custom job without code (existing hook only, no PHP execution)<\/li>\n<li>Custom intervals (minimum 60 seconds)<\/li>\n<li>Health tab: enabled, reachable, late count, total - Green \/ Yellow \/ Red<\/li>\n<li>Last 100 runs log with duration, auto-deleted after 3\/7\/14 days<\/li>\n<li>Admin only under Tools &gt; Cron Manager. No frontend load. No tracking.<\/li>\n<\/ul>\n\n<p>No external service. 100% free, no upsell.<\/p>\n\n<p><strong><a href=\"https:\/\/devmonowar.github.io\/schedulelens-cron-viewer\/\">Plugin page<\/a><\/strong> \u2014 what ScheduleLens does and why it exists \u00b7 <strong><a href=\"https:\/\/devmonowar.github.io\/plugins\/\">More free plugins<\/a><\/strong> \u2014 every plugin on one page \u00b7 <strong><a href=\"https:\/\/github.com\/devmonowar\/schedulelens-cron-viewer\">Development on GitHub<\/a><\/strong> \u2014 report issues or contribute.<\/p>\n\n<h3>External services<\/h3>\n\n<p>ScheduleLens makes one kind of outbound request: a loopback GET to your own site's <code>wp-cron.php<\/code> for the Health tab. Nothing leaves your server \u2014 the request goes to your own domain and back.<\/p>\n\n<h3>Privacy<\/h3>\n\n<p>Stores paused jobs list, last 100 log rows, custom intervals, and 3 settings in wp_options (autoload=no). Auto-prunes log after 3\/7\/14 days (default 7). No personal data stored. No external requests except a loopback GET to your own site for health check. All data deleted on uninstall if enabled in Settings.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin folder to <code>\/wp-content\/plugins\/<\/code> or install from Plugins &gt; Add New.<\/li>\n<li>Activate through the Plugins screen.<\/li>\n<li>Go to Tools &gt; Cron Manager.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"why%20is%20wp-cron%20not%20working%20%2F%20why%20do%20posts%20miss%20schedule%3F\"><h3>Why is wp-cron not working \/ why do posts miss schedule?<\/h3><\/dt>\n<dd><p>Low traffic, caching, or DISABLE_WP_CRON can stop schedules from firing. Open the Health tab \u2014 it shows enabled, reachable, late count and total with Green \/ Yellow \/ Red plus fix steps (e.g. set up a real server cron hitting wp-cron.php).<\/p><\/dd>\n<dt id=\"how%20do%20i%20run%20a%20cron%20job%20manually%3F\"><h3>How do I run a cron job manually?<\/h3><\/dt>\n<dd><p>Find the event in Tools &gt; Cron Manager and click Run now. The run is logged in the Log tab with duration.<\/p><\/dd>\n<dt id=\"can%20i%20pause%20a%20cron%20without%20deleting%20it%3F\"><h3>Can I pause a cron without deleting it?<\/h3><\/dt>\n<dd><p>Yes. Click Pause \u2014 the job is kept as a backup and will not run until you Resume it. Core jobs cannot be deleted (blocked with a warning).<\/p><\/dd>\n<dt id=\"will%20this%20slow%20my%20site%3F\"><h3>Will this slow my site?<\/h3><\/dt>\n<dd><p>No. Admin pages only. No CSS\/JS on the frontend.<\/p><\/dd>\n<dt id=\"can%20i%20break%20my%20site%3F\"><h3>Can I break my site?<\/h3><\/dt>\n<dd><p>Core jobs cannot be deleted (blocked with a warning). Custom jobs can be deleted. Pause keeps a backup to resume.<\/p><\/dd>\n<dt id=\"does%20it%20send%20data%20outside%3F\"><h3>Does it send data outside?<\/h3><\/dt>\n<dd><p>No. Everything stays in wp_options (autoload=no). No remote calls except a loopback check to your own wp-cron.php for the Health tab.<\/p><\/dd>\n<dt id=\"can%20i%20add%20php%20code%20to%20a%20job%3F\"><h3>Can I add PHP code to a job?<\/h3><\/dt>\n<dd><p>No, and that is intentional for safety and org approval. You can only trigger an existing hook.<\/p><\/dd>\n<dt id=\"why%20are%20my%20scheduled%20posts%20not%20publishing%3F\"><h3>Why are my scheduled posts not publishing?<\/h3><\/dt>\n<dd><p>Usually low traffic (nothing triggers WP-Cron), a caching layer serving pages without running PHP, or DISABLE_WP_CRON with no server cron replacing it. Open the Health tab \u2014 Green \/ Yellow \/ Red plus fix steps tell you which one it is.<\/p><\/dd>\n<dt id=\"how%20do%20i%20disable%20wp-cron%20and%20use%20a%20real%20server%20cron%3F\"><h3>How do I disable WP-Cron and use a real server cron?<\/h3><\/dt>\n<dd><p>Define DISABLE_WP_CRON as true in wp-config.php, then add a server cron job that calls wp-cron.php every few minutes (your host's control panel usually has a Cron Jobs screen). ScheduleLens keeps working \u2014 its Health tab will show the system cron driving schedules.<\/p><\/dd>\n<dt id=\"what%20is%20the%20difference%20between%20wp-cron%20and%20a%20system%20cron%20job%3F\"><h3>What is the difference between WP-Cron and a system cron job?<\/h3><\/dt>\n<dd><p>WP-Cron only runs when someone visits your site; on a quiet site, scheduled jobs fire late or never. A system cron runs on the clock regardless of traffic. That is the whole difference, and the reason quiet sites miss schedules.<\/p><\/dd>\n<dt id=\"which%20plugin%20added%20this%20cron%20job%3F\"><h3>Which plugin added this cron job?<\/h3><\/dt>\n<dd><p>The Source column on the events list names the plugin (or theme, or WordPress core) that registered each job. An unknown source usually means custom code in functions.php or a must-use plugin.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Fixed: every action now reports its real result \u2014 core delete blocked with a warning, exact-timestamp delete, failed pause\/run reported instead of false \"success\".<\/li>\n<li>Fixed: Run now only fires hooks that are actually scheduled; log keeps full hook names (case, dots, slashes).<\/li>\n<li>Added: review notice (15-day) + footer rating link, .pot translation template.<\/li>\n<li>Tooling: PHPCS WordPress-Extra clean, PHPStan level 5, CI on push\/PR.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release: events list + search\/filter, run\/pause\/resume\/delete, add custom job, custom intervals, health lite, 100-row log, settings.<\/li>\n<\/ul>","raw_excerpt":"See all scheduled jobs, catch overdue tasks, run or pause events, and check cron health - lightweight, admin-only, 100% free.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/ssw.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/369086","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ssw.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/ssw.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/ssw.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=369086"}],"author":[{"embeddable":true,"href":"https:\/\/ssw.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/kstmonowar"}],"wp:attachment":[{"href":"https:\/\/ssw.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=369086"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/ssw.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=369086"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/ssw.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=369086"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/ssw.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=369086"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/ssw.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=369086"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/ssw.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=369086"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}