Improved Cron
Cron not running when you expect? This plugin may help. Also provides insight into WP-Cron exactly like the Cron View plugin. This plugin will visit your site every minute and thereby ensure that your cron jobs run on time. It is mostly intended for people who can’t use real cron for some reason. No
About this tool.
Cron not running when you expect? This plugin may help. Also provides insight into WP-Cron exactly like the Cron View plugin.
This plugin will visit your site every minute and thereby ensure that your cron jobs run on time. It is mostly intended for people who can’t use real cron for some reason.
Note: This is the exact same plugin that was previously sold on Code Canyon.
Contributions are welcome: https://github.com/hinnerk-a/improved-cron
A closer look.
Getting started.
- 01Either use the built-in plugin installer, or download the zip and extract to your ‘wp-content/plugins’ folder.
- 02Activate the plugin in Plugins > Installed Plugins
- 03Open the ‘Improved Cron’ main menu item on the left side of your WordPress dashboard
Frequently asked questions.
What is a “fake visit”?
WordPress Cron only runs when someone visits your site. A fake visit causes a page to load without needing a real person to visit. For the more technically minded, the plugin spawns a PHP sub-process that loops indefinitely and loads wp-cron.php each minute. This causes WP Cron to be triggered in exactly the same way it would if a real user was visiting your site.
Can the interval be adjusted?
Yes. However, you’d need to modify the plugin code. The reason is that WordPress won’t allow cron jobs to run more frequently than 1 minute, and running every minute has very little downside. If you really must tinker with it, hook a filter into ‘imcron_interval_id’ like this (change ‘123’ to your desired interval time):
add_filter( 'cron_schedules', 'add_my_own_interval' ); function add_my_own_interval() { $seconds = 123; $interval['my_own_interval'] = array('interval' => $seconds, 'display' => sprintf( '%d seconds', $seconds ) ); return $interval; } add_filter( 'imcron_interval_id', 'set_imcron_interval' ); function set_imcron_interval() { return 'my_own_interval'; }
You’ll need to stop and re-start on the settings page to get the new interval to take effect.