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% без риска
Нет обязательств по найму
Бесплатная оценка
5900 ₽
Автомобильный каталог
Шаблон авто сайта на русском языке, преображающий онлайн-сервисы для автодилеров и профессионалов автобизнеса. Стильный и интуитивно понятный дизайн обеспечивает быстрый поиск автомобиля мечты

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

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

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

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

или

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

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

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

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

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