mirror of
https://github.com/gosticks/wordpress-develop.git
synced 2026-06-28 22:30:04 +00:00
Cron API: Introduce wp_unschedule_hook() to clear all events attached to a hook.
This complements `wp_clear_scheduled_hook()`, which only clears events attached with specific arguments. Props arena, mordauk, jrf. Fixes #18997. git-svn-id: https://develop.svn.wordpress.org/trunk@40965 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
@@ -186,7 +186,28 @@ class Tests_Cron extends WP_UnitTestCase {
|
||||
// wp_clear_scheduled_hook() should take args as an array like the other functions and does from WP 3.0
|
||||
wp_clear_scheduled_hook($multi_hook, $multi_args);
|
||||
$this->assertFalse( wp_next_scheduled($multi_hook, $multi_args) );
|
||||
}
|
||||
|
||||
/**
|
||||
* @ticket 18997
|
||||
*/
|
||||
function test_unschedule_hook() {
|
||||
$hook = __FUNCTION__;
|
||||
$args = array( rand_str() );
|
||||
|
||||
// schedule several events with and without arguments.
|
||||
wp_schedule_single_event( strtotime( '+1 hour' ), $hook );
|
||||
wp_schedule_single_event( strtotime( '+2 hour' ), $hook );
|
||||
wp_schedule_single_event( strtotime( '+3 hour' ), $hook, $args );
|
||||
wp_schedule_single_event( strtotime( '+4 hour' ), $hook, $args );
|
||||
|
||||
// make sure they're returned by wp_next_scheduled().
|
||||
$this->assertTrue( wp_next_scheduled( $hook ) > 0 );
|
||||
$this->assertTrue( wp_next_scheduled( $hook, $args ) > 0 );
|
||||
|
||||
// clear the schedule and make sure it's gone.
|
||||
wp_unschedule_hook( $hook );
|
||||
$this->assertFalse( wp_next_scheduled( $hook ) );
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user