has_filter()WP 2.5.0

Проверяет была ли прикреплена к указанному фильтру какая-нибудь функция. Можно указать название конкретной функции.

Основа для: has_action()
1 раз — 0.000043 сек (очень быстро) | 50000 раз — 0.91 сек (очень быстро) | PHP 7.0.2, WP 4.4.2

Хуков нет.

Возвращает

true|false|int.

Когда проверяемая функция указана:

  • Число (приоритет) — функция для проверки прикреплена к хуку.
  • false — указанная функция не прикреплена к хуку.

Когда проверяемая функция не указана:

  • true — у хука есть хоть одна прикрепленная функция.
  • false — у хука нет ни одной прикрепленной функции.

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

has_filter( $tag, $function_to_check );
$tag(строка) (обязательный)
Название фильтра, который нужно проверить.
$function_to_check(строка/колбэк)
Название функции которую нужно проверить на прикрепление к фильтру.
По умолчанию: false

Примеры

0

#1 Проверим есть ли хуки у фильтра the_content

if( has_filter('the_content') ){
	echo "Есть хотя бы один хук для фильтра the_content.";
}
0

#2 Проверим наличие конкретной функции у фильтра the_content:

if( $priority = has_filter('the_content', 'my_function') ){
	echo "У фильтра the_content есть функция my_function с приоритетом ". $priority;
}

Заметки

  • Global. WP_Hook[]. $wp_filter Stores all of the filters and actions.

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

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

Код has_filter() WP 6.5.2

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