wp_schedule_event()

19 февраля, 2025
Планирование повторяющихся событий в WordPress с помощью функции wp_schedule_event(): параметры, примеры, безопасность
Быстрая навигация по записи

Описание функции wp_schedule_event()

Функция wp_schedule_event() используется для планирования повторяющихся событий в WordPress. Она позволяет разработчикам устанавливать задачи, которые будут выполняться через определенные интервалы времени. Это полезно для автоматизации различных процессов, таких как отправка уведомлений, очистка баз данных и т.д.

Функция добавляет событие в систему cron WordPress, что позволяет выполнять задачи в фоновом режиме без необходимости ручного вмешательства.

Параметры

$timestamp

Тип: int

Обязательный: Да

По умолчанию: Нет

Описание: Время (в секундах с начала эпохи Unix), когда должно быть запланировано первое выполнение события

Возможные значения:

$recurrence

Тип: string

Обязательный: Да

По умолчанию: Нет

Описание: Строка, определяющая интервал повторения события

Возможные значения:

0: hourly

1: twicedaily

2: daily

$hook

Тип: string

Обязательный: Да

По умолчанию: Нет

Описание: Идентификатор действия (hook), которое будет вызвано при выполнении события

Возможные значения:

$args

Тип: array

Обязательный: Нет

По умолчанию: array()

Описание: Массив аргументов, которые будут переданы в хук при выполнении события

$wp_error

Тип: bool

Обязательный: Нет

По умолчанию: false

Описание: Флаг, указывающий, нужно ли возвращать WP_Error в случае ошибки

Возможные значения:

0: 1

1:

Возвращаемое значение

Тип: mixed

Описание: Возвращает значение, указывающее на статус операции

Возможные значения:

• true — если событие успешно запланировано

• false — если событие не было запланировано, ошибка при добавлении

Примеры использования

Планирование события для выполнения каждый час

				
					$timestamp = time() + 3600;
wp_schedule_event($timestamp, 'hourly', 'my_custom_event');
// Запланирует событие через 1 час
				
			

Добавление аргументов к событию

				
					$args = array('foo' => 'bar');
wp_schedule_event(time(), 'daily', 'my_daily_event', $args);
// Запланирует событие на каждый день с аргументами
				
			

Проверка на успешное запланирование события

				
					$result = wp_schedule_event(time(), 'daily', 'my_daily_event');
if ($result === false) {
    // Обработка ошибки
}
				
			

Запланировать событие при активации плагина

				
					function my_plugin_activate() {
    if (!wp_next_scheduled('my_plugin_event')) {
        wp_schedule_event(time(), 'hourly', 'my_plugin_event');
    }
}
register_activation_hook(__FILE__, 'my_plugin_activate');
				
			

Определение функции, которая будет выполнена при срабатывании события

				
					add_action('my_custom_event', 'my_custom_function');
function my_custom_function() {
    // Код для выполнения при событии
}
				
			

Безопасность

Валидация входных данных: Параметры проходят валидацию внутри функции.

Санитизация: Функция не требует дополнительной очистки, так как использует типы данных.

Рекомендации: Убедитесь, что хук уникален, чтобы избежать конфликтов с другими плагинами

— Связанные функции

Удаляет запланированное событие.

Проверяет, запланировано ли событие.

— Примечания

– Ограничения

Не работает, если wp_cron не настроен или отключен.

– Частые проблемы

  • Событие не выполняется из-за неправильных параметров.
  • Конфликты с другими плагинами, использующими те же хуки.

Оставить комментарий

Нужна помощь с WordPress WooCommerce плагинами темой оптимизацией ?

Упрощаем сложное, создаем впечатляющее!
100% без риска
Нет обязательств по найму
Бесплатная оценка
1900 ₽
6 разных демо
Cоздать сайт для блога на WordPress. Идеально подходит для сайта новостей блогов и журналов, обеспечивая комфортное и приятное взаимодействие , полностью на русском языке

Поможем вывести Ваш бизнес на новый уровень!

Проснувшись однажды утром после беспокойного сна, Грегор Замза обнаружил

Добро пожаловать!

Авторизуйтесь, чтобы продолжить

или

Забыли пароль? Восстановить

* Если аккунта у Вас еще нет, то он будет создан автоматически

Давайте составим техническое задание!
100% без риска
Нет обязательств по найму
Бесплатная оценка стоимости
Здравствуйте! Я асистент на основе искусственного интеллекта. Вы можете общаться со мной, как с человеком — задавайте вопросы, описывайте свои идеи и требования.

С удовольствием помогу вам составить техническое задание для вашего WordPress проекта. Если Вам нужна техническая поддержка по купленному у нас плагину или шаблону, то создайте тикет в личном кабинете.

Выберите подходящий вариант или опишите свою задачу в свободной форме, и я помогу вам составить четкий план действий, для оценки стоимости нашими разработчиками! 😊