Uma área de pesquisa sobre o WordPress para devs e autores do tema



wp_schedule_single_event ›

Desde2.1.0
Obsoleton/a
wp_schedule_single_event ( $timestamp, $hook, $args = array() )
Parâmetros: (3)
  • (int) $timestamp Unix timestamp (UTC) for when to next run the event.
    Required: Yes
  • (string) $hook Action hook to execute when the event is run.
    Required: Yes
  • (array) $args Optional. Array containing each separate argument to pass to the hook's callback function.
    Required: No
    Padrão: array()
Links:
Retorna:
  • (bool) True if event successfully scheduled. False for failure.
Definido em:
Codex:
Log de mudanças:
  • 5.0.0

Schedules an event to run only once.

Schedules a hook which will be triggered by WordPress at the specified time. The action will trigger when someone visits your WordPress site if the scheduled time has passed.

Note that scheduling an event to occur within 10 minutes of an existing event with the same action hook will be ignored unless you pass unique $args values for each scheduled event.

Use wp_next_scheduled() to prevent duplicate events.

Use wp_schedule_event() to schedule a recurring event.



Fonte

function wp_schedule_single_event( $timestamp, $hook, $args = array() ) {
	// Make sure timestamp is a positive integer
	if ( ! is_numeric( $timestamp ) || $timestamp <= 0 ) {
		return false;
	}

	// Don't schedule a duplicate if there's already an identical event due within 10 minutes of it
	$next = wp_next_scheduled( $hook, $args );
	if ( $next && abs( $next - $timestamp ) <= 10 * MINUTE_IN_SECONDS ) {
		return false;
	}

	$crons = _get_cron_array();
	$event = (object) array(
		'hook'      => $hook,
		'timestamp' => $timestamp,
		'schedule'  => false,
		'args'      => $args,
	);

	/**
	 * Filters a single event before it is scheduled.
	 *
	 * @since 3.1.0
	 *
	 * @param stdClass $event {
	 *     An object containing an event's data.
	 *
	 *     @type string       $hook      Action hook to execute when the event is run.
	 *     @type int          $timestamp Unix timestamp (UTC) for when to next run the event.
	 *     @type string|false $schedule  How often the event should subsequently recur.
	 *     @type array        $args      Array containing each separate argument to pass to the hook's callback function.
	 *     @type int          $interval  The interval time in seconds for the schedule. Only present for recurring events.
	 * }
	 */
	$event = apply_filters( 'schedule_event', $event );

	// A plugin disallowed this event
	if ( ! $event ) {
		return false;
	}

	$key = md5( serialize( $event->args ) );

	$crons[ $event->timestamp ][ $event->hook ][ $key ] = array(
		'schedule' => $event->schedule,
		'args'     => $event->args,
	);
	uksort( $crons, 'strnatcasecmp' );
	return _set_cron_array( $crons );
}