функция since 5.1.0

wp_get_scheduled_event()

Проверено на WordPress 6.9, обновлено Источник: WordPress Developer Resources.

Сигнатура

wp_get_scheduled_event( string $hook, array $args = array(), int|null $timestamp = null ): object|false

Описание

Получает полный объект события для указанного события; если временная метка не указана, возвращается следующее запланированное событие.

Оригинал (английский)

Retrieves the full event object for a given event, if no timestamp is specified the next scheduled event is returned.

Параметры

$hook string обязательный
Хук-действие события.
$args array необязательный = array()
Массив, содержащий каждый отдельный аргумент для передачи в функцию обратного вызова хука. Хотя эти аргументы не передаются в функцию обратного вызова, они используются для однозначной идентификации события, поэтому должны совпадать с теми, что использовались при первоначальном планировании события.
$timestamp int|null необязательный = null
Unix-метка времени (UTC) события. Если не указана, возвращается следующее запланированное событие.

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

object|false

hook stringХук-действие, выполняемый при запуске события. timestamp intUnix-метка времени (UTC), когда событие должно быть запущено в следующий раз. schedule string|falseКак часто событие должно затем повторяться. args arrayМассив, содержащий каждый отдельный аргумент для передачи в функцию обратного вызова хука. interval intНеобязательный. Интервал расписания в секундах. Присутствует только для повторяющихся событий.

Исходный код

wp-includes/cron.php:778

function wp_get_scheduled_event( $hook, $args = array(), $timestamp = null ) {
	/**
	 * Filter to override retrieving a scheduled event.
	 *
	 * Returning a non-null value will short-circuit the normal process,
	 * returning the filtered value instead.
	 *
	 * Return false if the event does not exist, otherwise an event object
	 * should be returned.
	 *
	 * @since 5.1.0
	 *
	 * @param null|false|object $pre  Value to return instead. Default null to continue retrieving the event.
	 * @param string            $hook Action hook of the event.
	 * @param array             $args Array containing each separate argument to pass to the hook's callback function.
	 *                                Although not passed to a callback, these arguments are used to uniquely identify
	 *                                the event.
	 * @param int|null  $timestamp Unix timestamp (UTC) of the event. Null to retrieve next scheduled event.
	 */
	$pre = apply_filters( 'pre_get_scheduled_event', null, $hook, $args, $timestamp );

	if ( null !== $pre ) {
		return $pre;
	}

	if ( null !== $timestamp && ! is_numeric( $timestamp ) ) {
		return false;
	}

	$crons = _get_cron_array();
	if ( empty( $crons ) ) {
		return false;
	}

	$key = md5( serialize( $args ) );

	if ( ! $timestamp ) {
		// Get next event.
		$next = false;
		foreach ( $crons as $timestamp => $cron ) {
			if ( isset( $cron[ $hook ][ $key ] ) ) {
				$next = $timestamp;
				break;
			}
		}

		if ( ! $next ) {
			return false;
		}

		$timestamp = $next;
	} elseif ( ! isset( $crons[ $timestamp ][ $hook ][ $key ] ) ) {
		return false;
	}

	$event = (object) array(
		'hook'      => $hook,
		'timestamp' => $timestamp,
		'schedule'  => $crons[ $timestamp ][ $hook ][ $key ]['schedule'],
		'args'      => $args,
	);

	if ( isset( $crons[ $timestamp ][ $hook ][ $key ]['interval'] ) ) {
		$event->interval = $crons[ $timestamp ][ $hook ][ $key ]['interval'];
	}

	return $event;
}

История изменений

ВерсияОписание
5.1.0 Introduced.

Что будем искать? Например,Продвижение

Этот сайт использует куки-файлы. Оставаясь на сайте, Вы соглашаетесь на их использование. Для получения дополнительной информации, пожалуйста, ознакомьтесь с политикой в отношении персональных данных.