W3cubDocs

/WordPress

has_filter( string $hook_name, callable|string|array|false $callback = false ): bool|int

Checks if any filter has been registered for a 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_namestringrequired
The name of the filter hook.
$callbackcallable|string|array|falseoptional
The callback to check for.
This function 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

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 );
}

Changelog

Version Description
2.5.0 Introduced.

© 2003–2024 WordPress Foundation
Licensed under the GNU GPLv2+ License.
https://developer.wordpress.org/reference/functions/has_filter