WP_Hook::has_filter()
Checks if a specific callback has been registered for this hook.
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.
Method of the class: WP_Hook{}
No Hooks.
Return
true|false|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.
Usage
$WP_Hook = new WP_Hook(); $WP_Hook->has_filter( $hook_name, $callback );
- $hook_name(string)
- The name of the filter hook.
Default: '' - $callback(callable|string|array|false)
- The callback to check for. This method can be called unconditionally to speculatively check a callback that may or may not exist.
Default: false
Changelog
Since 4.7.0 | Introduced. |
WP_Hook::has_filter() WP Hook::has filter code WP 6.7.1
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; }