Filter hook 'pre_schedule_event'

in WP Core File wp-includes/cron.php at line 269

View Source

pre_schedule_event

Filter Hook
Description
Schedules a recurring event. Schedules a hook which will be triggered by WordPress at the specified interval. The action will trigger when someone visits your WordPress site if the scheduled time has passed. Valid values for the recurrence are 'hourly', 'twicedaily', 'daily', and 'weekly'. These can be extended using the {@see 'cron_schedules'} filter in wp_get_schedules(). Use wp_next_scheduled() to prevent duplicate events. Use wp_schedule_single_event() to schedule a non-recurring event. {@see 'pre_schedule_event'} filter added to short-circuit the function.

Hook Information

File Location wp-includes/cron.php View on GitHub
Hook Type Filter
Line Number 269

Hook Parameters

Type Name Description
int $timestamp Unix timestamp (UTC) for when to next run the event.
string $recurrence How often the event should subsequently recur. See wp_get_schedules() for accepted values.
string $hook Action hook to execute when the event is run.
array $args Optional. Array containing arguments to pass to the hook's callback function. Each value in the array is passed to the callback as an individual parameter. The array keys are ignored. Default empty array.
bool $wp_error Optional. Whether to return a WP_Error on failure. Default false.

Usage Examples

Basic Usage
<?php
// Hook into pre_schedule_event
add_filter('pre_schedule_event', 'my_custom_filter', 10, 5);

function my_custom_filter($timestamp, $recurrence, $hook, $args, $wp_error) {
    // Your custom filtering logic here
    return $timestamp;
}

Source Code Context

wp-includes/cron.php:269 - How this hook is used in WordPress core
<?php
 264  		'args'      => $args,
 265  		'interval'  => $schedules[ $recurrence ]['interval'],
 266  	);
 267  
 268  	/** This filter is documented in wp-includes/cron.php */
 269  	$pre = apply_filters( 'pre_schedule_event', null, $event, $wp_error );
 270  
 271  	if ( null !== $pre ) {
 272  		if ( $wp_error && false === $pre ) {
 273  			return new WP_Error(
 274  				'pre_schedule_event_false',

PHP Documentation

<?php
/**
 * Schedules a recurring event.
 *
 * Schedules a hook which will be triggered by WordPress at the specified interval.
 * The action will trigger when someone visits your WordPress site if the scheduled
 * time has passed.
 *
 * Valid values for the recurrence are 'hourly', 'twicedaily', 'daily', and 'weekly'.
 * These can be extended using the {@see 'cron_schedules'} filter in wp_get_schedules().
 *
 * Use wp_next_scheduled() to prevent duplicate events.
 *
 * Use wp_schedule_single_event() to schedule a non-recurring event.
 *
 * @since 2.1.0
 * @since 5.1.0 Return value modified to boolean indicating success or failure,
 *              {@see 'pre_schedule_event'} filter added to short-circuit the function.
 * @since 5.7.0 The `$wp_error` parameter was added.
 *
 * @link https://developer.wordpress.org/reference/functions/wp_schedule_event/
 *
 * @param int    $timestamp  Unix timestamp (UTC) for when to next run the event.
 * @param string $recurrence How often the event should subsequently recur.
 *                           See wp_get_schedules() for accepted values.
 * @param string $hook       Action hook to execute when the event is run.
 * @param array  $args       Optional. Array containing arguments to pass to the
 *                           hook's callback function. Each value in the array
 *                           is passed to the callback as an individual parameter.
 *                           The array keys are ignored. Default empty array.
 * @param bool   $wp_error   Optional. Whether to return a WP_Error on failure. Default false.
 * @return bool|WP_Error True if event successfully scheduled. False or WP_Error on failure.
 */
Quick Info
  • Hook Type: Filter
  • Parameters: 5
  • File: wp-includes/cron.php
Related Hooks

Related hooks will be displayed here in future updates.