WP_Hook::has_filter()publicWP 4.7.0

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.

Метод класса: WP_Hook{}

Хуков нет.

Возвращает

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.

Использование

$WP_Hook = new WP_Hook();
$WP_Hook->has_filter( $hook_name, $callback );
$hook_name(строка)
The name of the filter hook.
По умолчанию: ''
$callback(callable|строка|массив|false)
The callback to check for. This method can be called unconditionally to speculatively check a callback that may or may not exist.
По умолчанию: false

Список изменений

С версии 4.7.0 Введена.

Код WP_Hook::has_filter() WP 6.5.2

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