wp_get_schedules()
Retrieves supported event recurrence schedules.
Description
The default supported recurrences are ‘hourly’, ‘twicedaily’, ‘daily’, and ‘weekly’.
A plugin may add more by hooking into the ‘cron_schedules’ filter.
The filter accepts an array of arrays. The outer array has a key that is the name of the schedule, for example ‘monthly’. The value is an array with two keys, one is ‘interval’ and the other is ‘display’.
The ‘interval’ is a number in seconds of when the cron job should run.
So for ‘hourly’ the time is HOUR_IN_SECONDS
(60 60 or 3600). For ‘monthly’, the value would be MONTH_IN_SECONDS
(30 24 60 60 or 2592000).
The ‘display’ is the description. For the ‘monthly’ key, the ‘display’ would be __( 'Once Monthly' )
.
For your plugin, you will be passed an array. You can easily add your schedule by doing the following.
// Filter parameter variable name is 'array'.
$array['monthly'] = array(
'interval' => MONTH_IN_SECONDS,
'display' => __( 'Once Monthly' )
);
Return
(array) The array of cron schedules keyed by the schedule name.<br>
- '...$0'
(array) Cron schedule information.<br>- 'interval'
(int) The schedule interval in seconds.<br> - 'display'
(string) The schedule display name.<br>
- 'interval'
Source
File: wp-includes/cron.php
function wp_get_schedules() {
$schedules = array(
'hourly' => array( 'interval' => HOUR_IN_SECONDS, 'display' => __( 'Once Hourly' ) ),
'twicedaily' => array( 'interval' => 12 * HOUR_IN_SECONDS, 'display' => __( 'Twice Daily' ) ),
'daily' => array( 'interval' => DAY_IN_SECONDS, 'display' => __( 'Once Daily' ) ),
);
/**
* Filters the non-default cron schedules.
*
* @since WP-2.1.0
*
* @param array $new_schedules An array of non-default cron schedules. Default empty.
*/
return array_merge( apply_filters( 'cron_schedules', array() ), $schedules );
}
Changelog
Version | Description |
---|---|
5.4.0 | The 'weekly' schedule was added. |
2.1.0 | Introduced. |