wpseek.com
Bazujące na WordPress narzędzie wyszukiwania dla deweloperów i twórców motywów.
wp_clear_scheduled_hook › WordPress Function
Od2.1.0
Przestarzałyn/a
› wp_clear_scheduled_hook ( $hook, $args = array() )
Parametry: (2) |
|
Powrót: |
|
Zdefiniowane na: |
|
Codex: | |
Dziennik zmian: |
|
Unschedules all events attached to the hook with the specified arguments.
Warning: This function may return Boolean FALSE, but may also return a non-Boolean
value which evaluates to FALSE. For information about casting to booleans see the
{@link https://php.net/manual/en/language.types.boolean.php PHP documentation}. Use
the ===
operator for testing the return value of this function.
Powiązane Funkcje: wp_unschedule_hook, wp_next_scheduled, wp_get_schedule, wp_get_schedules, wp_get_scheduled_event
Źródło
function wp_clear_scheduled_hook( $hook, $args = array() ) { // Backward compatibility // Previously this function took the arguments as discrete vars rather than an array like the rest of the API if ( ! is_array( $args ) ) { _deprecated_argument( __FUNCTION__, '3.0.0', __( 'This argument has changed to an array to match the behavior of the other cron functions.' ) ); $args = array_slice( func_get_args(), 1 ); } /** * Filter to preflight or hijack clearing a scheduled hook. * * Returning a non-null value will short-circuit the normal unscheduling * process, causing the function to return the filtered value instead. * * For plugins replacing wp-cron, return the number of events successfully * unscheduled (zero if no events were registered with the hook) or false * if unscheduling one or more events fails. * * @since 5.1.0 * * @param null|array $pre Value to return instead. Default null to continue unscheduling the event. * @param string $hook Action hook, the execution of which will be unscheduled. * @param array $args Arguments to pass to the hook's callback function. */ $pre = apply_filters( 'pre_clear_scheduled_hook', null, $hook, $args ); if ( null !== $pre ) { return $pre; } // This logic duplicates wp_next_scheduled() // It's required due to a scenario where wp_unschedule_event() fails due to update_option() failing, // and, wp_next_scheduled() returns the same schedule in an infinite loop. $crons = _get_cron_array(); if ( empty( $crons ) ) { return 0; } $results = array(); $key = md5( serialize( $args ) ); foreach ( $crons as $timestamp => $cron ) { if ( isset( $cron[ $hook ][ $key ] ) ) { $results[] = wp_unschedule_event( $timestamp, $hook, $args ); } } if ( in_array( false, $results, true ) ) { return false; } return count( $results ); }