﻿id,summary,reporter,owner,description,type,status,priority,milestone,component,version,severity,resolution,keywords,cc
10468,wp_clear_scheduled_hook does not work when including an $args parameter,johnbillion,westi,"The value for $args that gets passed from `wp_clear_scheduled_hook` to `wp_unschedule_event` gets changed and therefore nothing will get unscheduled as no jobs will have that argument.

The problem is that the value of the $args parameter is detected using `array_slice( func_get_args(), 1 )` and this actually places the value of $args inside an array with one element with the value of $args.

The value of $args passed by `wp_clear_scheduled_hook('my_hook','hello')` to `wp_unschedule_event` will then look like this:

{{{
array
(
    [0] => hello
)
}}}

instead of this:

{{{
hello
}}}
----

The function `wp_clear_scheduled_hook` is used with the $args parameter in core in three places:

 1. Inside `wp_delete_post` to clear any job which might try to publish a future post which has been deleted.
 2. Inside `check_and_publish_future_post` to clear any job which might try to republish a future post which has been published.
 3. Inside `_transition_post_status` to clear any job which might try to publish a future post which has gone back to draft status.

So according to this bug, these three areas cannot be functioning as expected, as they pass a value in the $args parameter to `wp_clear_scheduled_hook`.",defect (bug),closed,normal,3.0,Cron,2.8.1,normal,fixed,has-patch needs-testing,scribu@…
