has_filter()
Check if any filter has been registered for a 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.
Used By: has_action()
1 time — 0.000043 sec (very fast) | 50000 times — 0.91 sec (very fast) | PHP 7.0.2, WP 4.4.2
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
has_filter( $hook_name, $callback );
- $hook_name(string) (required)
- The name of the filter hook.
- $callback(callable|string|array|false)
- The callback to check for. This function can be called unconditionally to speculatively check a callback that may or may not exist.
Default: false
Examples
#1 Check if the filter has hooks the_content
if( has_filter( 'the_content' ) ){ echo 'There is at least one function attached to `the_content` filter'; }
#2 Check if the_content filter has a specific function:
$priority = has_filter( 'the_content', 'my_function' ); if( $priority ){ echo "`the_content` filter has my_function() attached with priority $priority"; }
Notes
- Global. WP_Hook[]. $wp_filter Stores all of the filters and actions.
Changelog
Since 2.5.0 | Introduced. |
has_filter() has filter code WP 6.8
function has_filter( $hook_name, $callback = false ) { global $wp_filter; if ( ! isset( $wp_filter[ $hook_name ] ) ) { return false; } return $wp_filter[ $hook_name ]->has_filter( $hook_name, $callback ); }