WP_DOING_CRON() │ WP 4.8.0
Функция WP_DOING_CRON() помогает определить, является ли текущий запрос запросом на выполнение задачи по расписанию (cron) в WordPress.
Производительность
- 1 раз — 0.000021 сек (очень быстро)
- 50000 раз — 0.12 сек (очень быстро)
- PHP версия: 7.1.2, WP версия: 4.8
Возвращаемое значение
Функция возвращает true или false:
true, если это запрос на выполнение cron задачи WordPress;falseв противном случае.
Применение
Вы можете использовать функцию вот так:
if ( wp_doing_cron() ) {
// Ваш код здес��
}
Примеры использования
1. Действия во время выполнения запроса cron
Например, давайте удалим событие my_schedule_hook из расписания, когда ожидается следующий запрос cron.
add_action( 'shutdown', function() {
if ( wp_doing_cron() ) {
// Удаляем задачу cron
$timestamp = wp_next_scheduled( 'my_schedule_hook' );
wp_unschedule_event( $timestamp, 'my_schedule_hook' );
}
} );
Изменения
Функция была введена в версии 4.8.0.
Исходный код функции
Вот как выглядит функция wp_doing_cron() в самом ядре WordPress:
function wp_doing_cron() {
/**
* Фильтрует, является ли текущий запрос запросом cron WordPress.
*
* @since 4.8.0
*
* @param bool $wp_doing_cron Является ли текущий запрос запросом cron WordPress.
*/
return apply_filters( 'wp_doing_cron', defined( 'DOING_CRON' ) && DOING_CRON );
}
Связанные функции
Вот некоторые функции, которые могут быть полезны в контексте проверки состояния запросов:
Условные Теги
is_404()is_admin()is_single()is_page()is_home()
Эти функции помогают определить, на какой странице находится пользователь или выполняется ли конкретная операция.
API Cron
Полезные функции для работы с планировкой задач:
wp_schedule_event()wp_unschedule_event()wp_get_scheduled_event()wp_next_scheduled()
Эти функции позволяют планировать задачи на выполнение в определенное время или с определенной периодичностью.
Заключение
Функция WP_DOING_CRON() полезна для создания эффективных решений и функционала, обратите на нее внимание при работе с запланированными задачами WordPress.