Changeset 40965
- Timestamp:
- 06/30/2017 12:21:49 AM (7 years ago)
- Location:
- trunk
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/wp-includes/cron.php
r38357 r40965 192 192 193 193 /** 194 * Unschedule all events attached to the specified hook.194 * Unschedule all events attached to the hook with the specified arguments. 195 195 * 196 196 * @since 2.1.0 … … 220 220 } 221 221 } 222 } 223 224 /** 225 * Unschedule all events attached to the hook. 226 * 227 * Can be useful for plugins when deactivating to clean up the cron queue. 228 * 229 * @since 4.9.0 230 * 231 * @param string $hook Action hook, the execution of which will be unscheduled. 232 */ 233 function wp_unschedule_hook( $hook ) { 234 $crons = _get_cron_array(); 235 236 foreach( $crons as $timestamp => $args ) { 237 unset( $crons[ $timestamp ][ $hook ] ); 238 239 if ( empty( $crons[ $timestamp ] ) ) { 240 unset( $crons[ $timestamp ] ); 241 } 242 } 243 244 _set_cron_array( $crons ); 222 245 } 223 246 -
trunk/tests/phpunit/tests/cron.php
r39554 r40965 187 187 wp_clear_scheduled_hook($multi_hook, $multi_args); 188 188 $this->assertFalse( wp_next_scheduled($multi_hook, $multi_args) ); 189 189 } 190 191 /** 192 * @ticket 18997 193 */ 194 function test_unschedule_hook() { 195 $hook = __FUNCTION__; 196 $args = array( rand_str() ); 197 198 // schedule several events with and without arguments. 199 wp_schedule_single_event( strtotime( '+1 hour' ), $hook ); 200 wp_schedule_single_event( strtotime( '+2 hour' ), $hook ); 201 wp_schedule_single_event( strtotime( '+3 hour' ), $hook, $args ); 202 wp_schedule_single_event( strtotime( '+4 hour' ), $hook, $args ); 203 204 // make sure they're returned by wp_next_scheduled(). 205 $this->assertTrue( wp_next_scheduled( $hook ) > 0 ); 206 $this->assertTrue( wp_next_scheduled( $hook, $args ) > 0 ); 207 208 // clear the schedule and make sure it's gone. 209 wp_unschedule_hook( $hook ); 210 $this->assertFalse( wp_next_scheduled( $hook ) ); 190 211 } 191 212
Note: See TracChangeset
for help on using the changeset viewer.