WP_Hook::has_filter( string $hook_name = '', callable|string|array|false $callback = false ): bool|int
Checks if a specific callback has been registered for this hook.
Description
When using the $callback
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.
Parameters
-
$hook_name
string Optional -
The name of the filter hook.
Default:
''
-
$callback
callable|string|array|false Optional -
The callback to check for.
This method can be called unconditionally to speculatively check a callback that may or may not exist.Default:
false
Return
bool|int If $callback
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.
Source
File: wp-includes/class-wp-hook.php
.
View all references
public function has_filter( $hook_name = '', $callback = false ) {
if ( false === $callback ) {
return $this->has_filters();
}
$function_key = _wp_filter_build_unique_id( $hook_name, $callback, false );
if ( ! $function_key ) {
return false;
}
foreach ( $this->callbacks as $priority => $callbacks ) {
if ( isset( $callbacks[ $function_key ] ) ) {
return $priority;
}
}
return false;
}
Changelog
Version | Description |
---|---|
4.7.0 | Introduced. |