apply_filters( 'pre_schedule_event', null|bool|WP_Error $pre, stdClass $event, bool $wp_error )

Filter to preflight or hijack scheduling an event.


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.

Top ↑



(null|bool|WP_Error) Value to return instead. Default null to continue adding the event.


(stdClass) An object containing an event's data.

  • 'hook'
    (string) Action hook to execute when the event is run.
  • 'timestamp'
    (int) Unix timestamp (UTC) for when to next run the event.
  • 'schedule'
    (string|false) How often the event should subsequently recur.
  • 'args'
    (array) Array containing each separate argument to pass to the hook's callback function.
  • 'interval'
    (int) The interval time in seconds for the schedule. Only present for recurring events.


(bool) Whether to return a WP_Error on failure.

Top ↑


File: wp-includes/cron.php

View on Trac

Top ↑


Version Description
5.7.0 The $wp_error parameter was added, and a WP_Error object can now be returned.
5.1.0 Introduced.

Top ↑

User Contributed Notes

You must log in before being able to contribute a note or feedback.