Clarify the return value of has_filter() and has_action(). It returns a boolean if only the first argument is specified. If the second argument is specified, it returns false or an integer, which means it may return a non-boolean value that evaluates to false (so, 0), so you should take care to use the === operator.
Correct the function definition of remove_filter() and remove_action(), which 'accepted' an $accepted_args argument, but did not require or use it. fixes #19417. git-svn-id: http://core.svn.wordpress.org/trunk@21288 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
parent
70da9092d4
commit
ff2d1c5195
|
@ -80,8 +80,11 @@ function add_filter($tag, $function_to_add, $priority = 10, $accepted_args = 1)
|
|||
* @global array $wp_filter Stores all of the filters
|
||||
*
|
||||
* @param string $tag The name of the filter hook.
|
||||
* @param callback $function_to_check optional. If specified, return the priority of that function on this hook or false if not attached.
|
||||
* @return int|boolean Optionally returns the priority on that hook for the specified function.
|
||||
* @param callback $function_to_check optional.
|
||||
* @return mixed If $function_to_check is omitted, returns boolean for whether the hook has anything registered.
|
||||
* When checking a specific function, the priority of that hook is returned, or false if the function is not attached.
|
||||
* When using the $function_to_check argument, this function may return a non-boolean value that evaluates to false
|
||||
* (e.g.) 0, so use the === operator for testing the return value.
|
||||
*/
|
||||
function has_filter($tag, $function_to_check = false) {
|
||||
global $wp_filter;
|
||||
|
@ -251,7 +254,7 @@ function apply_filters_ref_array($tag, $args) {
|
|||
* @param int $accepted_args optional. The number of arguments the function accepts (default: 1).
|
||||
* @return boolean Whether the function existed before it was removed.
|
||||
*/
|
||||
function remove_filter($tag, $function_to_remove, $priority = 10, $accepted_args = 1) {
|
||||
function remove_filter( $tag, $function_to_remove, $priority = 10 ) {
|
||||
$function_to_remove = _wp_filter_build_unique_id($tag, $function_to_remove, $priority);
|
||||
|
||||
$r = isset($GLOBALS['wp_filter'][$tag][$priority][$function_to_remove]);
|
||||
|
@ -494,8 +497,11 @@ function do_action_ref_array($tag, $args) {
|
|||
* @see has_filter() has_action() is an alias of has_filter().
|
||||
*
|
||||
* @param string $tag The name of the action hook.
|
||||
* @param callback $function_to_check optional. If specified, return the priority of that function on this hook or false if not attached.
|
||||
* @return int|boolean Optionally returns the priority on that hook for the specified function.
|
||||
* @param callback $function_to_check optional.
|
||||
* @return mixed If $function_to_check is omitted, returns boolean for whether the hook has anything registered.
|
||||
* When checking a specific function, the priority of that hook is returned, or false if the function is not attached.
|
||||
* When using the $function_to_check argument, this function may return a non-boolean value that evaluates to false
|
||||
* (e.g.) 0, so use the === operator for testing the return value.
|
||||
*/
|
||||
function has_action($tag, $function_to_check = false) {
|
||||
return has_filter($tag, $function_to_check);
|
||||
|
@ -515,11 +521,10 @@ function has_action($tag, $function_to_check = false) {
|
|||
* @param string $tag The action hook to which the function to be removed is hooked.
|
||||
* @param callback $function_to_remove The name of the function which should be removed.
|
||||
* @param int $priority optional The priority of the function (default: 10).
|
||||
* @param int $accepted_args optional. The number of arguments the function accepts (default: 1).
|
||||
* @return boolean Whether the function is removed.
|
||||
*/
|
||||
function remove_action($tag, $function_to_remove, $priority = 10, $accepted_args = 1) {
|
||||
return remove_filter($tag, $function_to_remove, $priority, $accepted_args);
|
||||
function remove_action( $tag, $function_to_remove, $priority = 10 ) {
|
||||
return remove_filter( $tag, $function_to_remove, $priority );
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
Loading…
Reference in New Issue