Description
The $timestamp and $hook parameters are required so that the event can be identified.
Parameters
- $timestamp
-
(int) (Required) Unix timestamp (UTC) of the event.
- $hook
-
(string) (Required) Action hook of the event.
- $args
-
(array) (Optional) Array containing each separate argument to pass to the hook's callback function. Although not passed to a callback, these arguments are used to uniquely identify the event, so they should be the same as those used when originally scheduling the event.
Default value: array()
Return
(bool) True if event successfully unscheduled. False for failure.
Note that you need to know the exact time of the next occurrence when scheduled hook was set to run, and the function arguments it was supposed to have, in order to unschedule it. All future occurrences are unscheduled by calling this function.
Source
File: wp-includes/cron.php
function wp_unschedule_event( $timestamp, $hook, $args = array() ) {
if ( ! is_numeric( $timestamp ) || $timestamp <= 0 ) {
return false;
}
$pre = apply_filters( 'pre_unschedule_event', null, $timestamp, $hook, $args );
if ( null !== $pre ) {
return $pre;
}
$crons = _get_cron_array();
$key = md5( serialize( $args ) );
unset( $crons[ $timestamp ][ $hook ][ $key ] );
if ( empty( $crons[ $timestamp ][ $hook ] ) ) {
unset( $crons[ $timestamp ][ $hook ] );
}
if ( empty( $crons[ $timestamp ] ) ) {
unset( $crons[ $timestamp ] );
}
return _set_cron_array( $crons );
}
Changelog
Version | Description |
5.1.0 | Return value modified to boolean indicating success or failure, 'pre_unschedule_event' filter added to short-circuit the function. |
2.1.0 | Introduced. |