pre_schedule_event
Filter to override 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.
Usage
add_filter( 'pre_schedule_event', 'wp_kama_pre_schedule_event_filter', 10, 3 ); /** * Function for `pre_schedule_event` filter-hook. * * @param null|bool|WP_Error $result The value to return instead. * @param object $event An object containing an event's data. * @param bool $wp_error Whether to return a WP_Error on failure. * * @return null|bool|WP_Error */ function wp_kama_pre_schedule_event_filter( $result, $event, $wp_error ){ // filter... return $result; }
- $result(null|true|false|WP_Error)
- The value to return instead.
Default: null to continue adding the event - $event(object)
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)
Optional. The interval time in seconds for the schedule. Only present for recurring events.
-
- $wp_error(true|false)
- Whether to return a WP_Error on failure.
Changelog
Since 5.1.0 | Introduced. |
Since 5.7.0 | The $wp_error parameter was added, and a WP_Error object can now be returned. |
Where the hook is called
$pre = apply_filters( 'pre_schedule_event', null, $event, $wp_error );
$pre = apply_filters( 'pre_schedule_event', null, $event, $wp_error );