﻿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@…
