wp_next_scheduled()WP 2.1.0

Возвращает метку времени (timestamp) когда должно сработать следующее по расписанию cron задание. Позволяет проверить есть ли в крон указанное задание.

Используйте wp_get_scheduled_event(), когда нужно получить данные крон задачи, а не её метку времени.

Работает на основе: wp_get_scheduled_event()
Основа для: wp_schedule_single_event()
1 раз — 0.001667 сек (очень медленно) | 50000 раз — 3.12 сек (быстро) | PHP 7.2.5, WP 4.9.8
Хуки из функции

Возвращает

int|false. число или false: Метку времени UNIX следующего указанного события. Если событие не найдено вернет false.

Использование

wp_next_scheduled( $hook, $args );
$hook(строка) (обязательный)
Название хука, который будет выполнен после наступления времени события.
$args(массив)
Аргументы, которые должны быть переданы в функцию, которая подключена к хуку. См. add_action().
По умолчанию: array()

Примеры

0

#1 Проверка наличия cron задачи перед регистрацией новой

Обычно события регистрируются во время активации плагина. Но это не всегда удобно.

// Убедимся что события нет, прежде чем регистрировать новую cron задачу.
if ( ! wp_next_scheduled( 'my_hourly_event' ) ) {
	wp_schedule_event( time(), 'hourly', 'my_hourly_event');
}

// добавляем функцию к указанному хуку
add_action('my_hourly_event', 'do_this_hourly');
function do_this_hourly() {
	// делаем что-либо каждый час
}

Другие примеры смотрите в описании wp_schedule_event().

Список изменений

С версии 2.1.0 Введена.

Код wp_next_scheduled() WP 7.0

function wp_next_scheduled( $hook, $args = array() ) {
	$next_event = wp_get_scheduled_event( $hook, $args );

	if ( ! $next_event ) {
		return false;
	}

	/**
	 * Filters the timestamp of the next scheduled event for the given hook.
	 *
	 * @since 6.8.0
	 *
	 * @param int    $timestamp  Unix timestamp (UTC) for when to next run the event.
	 * @param object $next_event {
	 *     An object containing an event's data.
	 *
	 *     @type string $hook      Action hook of the event.
	 *     @type int    $timestamp Unix timestamp (UTC) for when to next run the event.
	 *     @type string $schedule  How often the event should subsequently recur.
	 *     @type array  $args      Array containing each separate argument to pass to the hook
	 *                             callback function.
	 *     @type int    $interval  Optional. The interval time in seconds for the schedule. Only
	 *                             present for recurring events.
	 * }
	 * @param string $hook       Action hook of the event.
	 * @param array  $args       Array containing each separate argument to pass to the hook
	 *                           callback function.
	 */
	return apply_filters( 'wp_next_scheduled', $next_event->timestamp, $next_event, $hook, $args );
}