This plugin hasn’t been tested with the latest 3 major releases of WordPress. It may no longer be maintained or supported and may have compatibility issues when used with more recent versions of WordPress.

Cronjob Scheduler


Cronjob Scheduler

Cronjob Scheduler allows you to create custom WordPress tasks that are automatically triggered on a schedule you define.
Cronjob Scheduler does not overwrite WordPress’s existing scheduling functionality, which it and plugins use for a number of internal tasks.
Instead, it simply replaces the standard WordPress mechanism which triggers them with a more reliable one from your operating system.
In addition, it helps improve your site speed by making the server handle recurring tasks, rather than unsuspecting visitors…

The motivation behind building this plugin was out of frustration with other similar plugins that claim to do the same thing.

Cronjob Scheduler allows you to run frequent tasks reliably and timely without anyone having to visit your site at all. All you need is at least 1 action and a Unix Crontab schedule!


This plugin was designed and built by Motocom. It is designed to make easy work of creating and managing custom cron jobs. If this plugin has been helpful for you, then please donate to keep our WordPress plugin projects running!


  • Cronjob Scheduler Interface
  • Creating new schedules is easy
  • The process of creating a new scheduled task


  1. Upload cronjob-scheduler folder to the /wp-content/plugins/ directory
  2. Activate the plugin through the Plugins menu in WordPress
  3. You will now be able to manage your Cronjob schedule under Settings > Cronjob Scheduler
  4. Once on this page, follow the plugins instructions to ensure everything is setup and ready to go
  5. Instructions, and a template for creating new actions can be found in the plugin admin.

Running your cron tasks

Most shared providers offer a crontab manager, or you can speak to your shared hosting provider about setting up our cron job. If you manage the server, you can setup your cron using the crontab service. Make sure that wget is installed befor doing this.

Creating Custom Action Example

function my_cronjob_action () {
    // code to execute on cron run
} add_action('my_cronjob_action', 'my_cronjob_action');


Can I create my own custom schedules?

That’s the whole idea of the plugin, you setup your schedules and the tasks you want to run and the plugin will handle the rest!

How do I create a task to run?

Just create a new function in your theme files (or somewhere else you will remember) and create an action with the same name.

Can I run an event at any time?

Sure, just go to the Cronjob Scheduler interface and hit the Run button against the task.


May 20, 2020 1 reply
This plugin simply replaces the adhoc triggering of your scheduled tasks with a trigger delivered by your host operating system. This increases reliability. There are no downsides. It also makes it easy to create your own cron job. I had some questions about how it worked and the developer gave me great support.
August 4, 2018 1 reply
This plugin would be the perfect cronjob scheduler if jobs could be scheduled at a given time, instead of only allowing intervals. The UI is stellar, and functions as advertised, however, without the ability to control the exact time of execution, it is unusable for most applications.
June 5, 2017
This is a fantastic plugin. I use it in conjunction with the “SLM Woo Addon” and “Software License Manager” plugins to send emails to users whose license is about to expire. I have no connection to Chris Page or Motocom and therefore have no hesitation in recommending you make a donation for this plugin (see link at bottom right of Cronjob Scheduler). If you think this plugin is not working I suggest you do the following: 1. Install the “Code Snippets” plugin by Shea Bunge and add the following snippet: // Test cronjob created by Chris Page add_action(‘cronjob_test’, function () { file_put_contents(WP_CONTENT_DIR . ‘/.test.txt’, “\nHit at ” . date(‘Ymd-His’), FILE_APPEND); }); 2. In the Cronjob Scheduler, which is in Settings, create an Action and name it “cronjob_test” with a run time of once every minute. 3. Create a file, .test.txt (including the dot at the start of the filename), in your wp-content folder. 4. Start the snippet and check if information is being written to .test.txt: e.g. Hit at 20170601-110444 5. If the file is empty, note the information in “Plugin Details” (bottom right of Cronjob Scheduler). In particular that you need a cronjob that runs every minute. If you don’t know how to set up a cronjob, contact your ISP. 6. Remember to stop the Code Snippets cronjob if “Hit at …” is being written to the .test.txt file.
September 3, 2016
I was in need of this while debugging some the WordPress cron. Thanks for making it easier.
Read all 14 reviews

Contributors & Developers

“Cronjob Scheduler” is open source software. The following people have contributed to this plugin.


Translate “Cronjob Scheduler” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.



Removed session_start() fixing site health bug.


Project refactoring, added clause where action may show as not existing.


Addressed timezone bugs and updated latest version plugin is compatible with


Fixed creation bug caused by non-strict PHP checking. Credit Andreas Mak for this fix


Fixed lack of support for PHP 5.2 with DIR magic constants being replaced for dirname(FILE)


Fixed views not loading bug (introdued in 1.18 refactoring)


Basic refactoring and tidying. Updated uasort anonymous function as it was breaking in PHP 5.2.17


Fixed activation bug where accessing the first element in an array is not available in older versions of PHP


Further enhanced supporting of old versions by preventing duplicates from being created


Added functionality to support old versions of Cronjob Scheduler – old cron setups will still show


Fixed where cron job was no longer displaying old versions of cron setup


Fixed example cronjob file functionality – it was referencing an invalid path since plugin updates


Major refactoring of code along with issues addressed by users. Active development resumed


Minor bug fix to stop tasks that do not recur from being a problem


Changed the conditions under which post events are handled to prevent interference with any other elements of the WordPress admin.


Added facility to edit cronjobs.php file which allows you to create and manage cronjobs
actions all from within the WordPress admin.


Created function to get crontab structure and modified it to a more reliable wget method


Updated plugin folder structure

1.0.1 – 1.0.3

Minor changes to readme files & author URL


Plugin creation, extensive testing and deployment to a number of our live environments.