has_filter()
Проверяет была ли прикреплена к указанному фильтру какая-нибудь функция. Можно указать название конкретной функции.
Основа для: 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
Примеры
#1 Проверим есть ли хуки у фильтра the_content
if( has_filter('the_content') ){ echo "Есть хотя бы один хук для фильтра the_content."; }
#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() has filter WP 6.7.1
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 ); }