wppaste
WordPress

apply_filters( 'pre_schedule_event', null|bool|WP_Error $result, object $event, bool $wp_error )

Since
5.1.0, 5.7.0
Filter to override scheduling an event.

Description

Returning a non-null value will short-circuit adding the event to the cron array, causing the function to return the filtered value instead.

Both single events and recurring events are passed through this filter; single events have $event->schedule as false, whereas recurring events have this set to a recurrence from wp_get_schedules(). Recurring events also have the integer recurrence interval set as $event->interval.

For plugins replacing wp-cron, it is recommended you check for an identical event within ten minutes and apply the 'schedule_event' filter to check if another plugin has disallowed the event before scheduling.

Return true if the event was scheduled, false or a WP_Error if not.

Compatibility

WordPress
since 5.7.0
  • 6.7.7
  • 6.8.8
  • 6.9.7
  • 7.0.4
  • 7.1.0

Present in every tracked release (6.7.7 to 7.1.0).

Parameters

$resultnull|bool|WP_Error
The value to return instead. Default null to continue adding the event.
$eventobject
{ 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 Optional. The interval time in seconds for the schedule. Only present for recurring events.
}
  • $hookstring

    Action hook to execute when the event is run.
  • $timestampint

    Unix timestamp (UTC) for when to next run the event.
  • $schedulestring|false

    How often the event should subsequently recur.
  • $argsarray

    Array containing each separate argument to pass to the hook's callback function.
  • $intervalint

    Optional. The interval time in seconds for the schedule. Only present for recurring events.
$wp_errorbool
Whether to return a WP_Error on failure.

Where this hook fires · 2

  • wp-includes/cron.php:91wp_schedule_single_event()
  • wp-includes/cron.php:269wp_schedule_event()

Source code

<?php	 *     @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  Optional. The interval time in seconds for the schedule. Only present for recurring events.	 * }	 * @param bool               $wp_error Whether to return a WP_Error on failure.	 */	$pre = apply_filters( 'pre_schedule_event', null, $event, $wp_error ); 	if ( null !== $pre ) {		if ( $wp_error && false === $pre ) {			return new WP_Error(				'pre_schedule_event_false',				__( 'A plugin prevented the event from being scheduled.' )

Changelog

Introduced in 5.1.0. Unchanged from 6.7.7 through 7.1.0.

  1. 6.7.7
  2. 6.8.8
  3. 6.9.7
  4. 7.0.4
  5. 7.1.0

Signature, return type and hooks compared across 5 parsed releases.

5.7.0
The $wp_error parameter was added, and a WP_Error object can now be returned.from the docblock
5.1.0
Introduced.from the docblock

About this page

Parsed data
Generated from the wordpress-develop 6.8.8 tag, and regenerated for each WordPress release so it tracks the code rather than a snapshot of it.
Corrections
Something wrong on this page? Report it and it gets fixed in the next regeneration.