wp_get_schedules()
Проверено на WordPress 6.9, обновлено Источник: WordPress Developer Resources.
Сигнатура
wp_get_schedules(): array
Описание
Стандартно поддерживаемые периодичности: «hourly», «twicedaily», «daily» и «weekly».
Плагин может добавить дополнительные, подключившись к фильтру «cron_schedules».
Фильтр принимает массив массивов. Внешний массив имеет ключ — имя расписания, например «monthly». Значение — массив с двумя ключами: один «interval», другой «display».
«interval» — это число в секундах, определяющее, когда должна выполняться cron-задача.
Так, для «hourly» время равно HOUR_IN_SECONDS (60 * 60 или 3600). Для «monthly» значение будет MONTH_IN_SECONDS (30 * 24 * 60 * 60 или 2592000).
«display» — это описание. Для ключа «monthly» «display» будет __( 'Once Monthly' ).
В ваш плагин будет передан массив. Вы можете добавить своё расписание следующим образом:
// Filter parameter variable name is 'array'.
$array['monthly'] = array(
'interval' => MONTH_IN_SECONDS,
'display' => __( 'Once Monthly' )
);
Оригинал (английский)
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 add your schedule by doing the following:
// Filter parameter variable name is 'array'.
$array['monthly'] = array(
'interval' => MONTH_IN_SECONDS,
'display' => __( 'Once Monthly' )
);
Возвращаемое значение
array
Исходный код
wp-includes/cron.php:1131
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' ),
),
'weekly' => array(
'interval' => WEEK_IN_SECONDS,
'display' => __( 'Once Weekly' ),
),
);
/**
* Filters the non-default cron schedules.
*
* @since 2.1.0
*
* @param array $new_schedules {
* An array of non-default cron schedules keyed by the schedule name. Default empty array.
*
* @type array ...0 {
* Cron schedule information.
*
* @type int $interval The schedule interval in seconds.
* @type string $display The schedule display name.
* }
* }
*/
return array_merge( apply_filters( 'cron_schedules', array() ), $schedules );
}
История изменений
| Версия | Описание |
|---|---|
| 5.4.0 | The 'weekly' schedule was added. |
| 2.1.0 | Introduced. |

