apply_filters() WP 0.71
Применяет прикрепленную к указанному фильтру PHP функцию. Прикрепляется функция с помощью add_filter()
.
Используется там, где нужно изменить значение переменной (например текст).
Используется в плагинах и темах, для создания хуков-фильтров (зацепок пользовательских функций).
Новые фильтры должны иметь уникальные названия и не должны совпадать с уже имеющимися в WP названиями фильтров.
Кроме фильтров в WP есть еще события (actions), принцип работы такой же. Разницы лишь в том, что фильтр должен вернуть полученную переменную, т.е. он фильтрует (изменяет) данные, а событие позволяет запустить пользовательскую функцию в момент срабатывания этого события. События запускаются функцией do_action()
Хуков нет.
Возвращает
Отфильтрованное значение $value, которое передается функции-обработчику хука.
Использование
apply_filters( $tag, $value, $var... );
- $tag(строка) (обязательный)
- Название фильтра.
По умолчанию: нет - $value(строка/массив/число/объект/логический) (обязательный)
- Значение, которое будет передаваться функции в её первом аргументе, другими словами - значение, которое нужно отфильтровать.
По умолчанию: нет - $var(строка/массив/число/объект/логический)
- Дополнительные значения, которые будет передавать фильтр функции.
По умолчанию: нет
Примеры
#1. Вывод на экран после фильтрации:
echo apply_filters( $tag, $value );
#2. Получение отфильтрованного значения:
$myvar = apply_filters( $tag, $value );
#3. Дополнительные аргументы:
$myvar = apply_filters( $tag, $value, $var1, $var2, ... );
#4. Пример вывода отформатированного контента записи через фильтр.
Альтернатива функции the_content():
global $post; echo apply_filters( 'the_content', $post->post_content );
Заметки
- Global. Массив.
$wp_filter
Stores all of the filters. - Global. Массив.
$wp_current_filter
Stores the list of current filters with the current one last.
Список изменений
С версии 0.71 | Введена. |
Добрый день, Тимур. Где вы читаете доки по хукам? Знаю только сайт http://adambrown.info/p/wp_hooks/version/3.3, но там не у всех хуков есть хоть какое-то описание.
Спасибо.
Это кажется единственный источник, за исключением некоторых хуков, описанных в кодексе или еще где-то. Те что не описаны, я ищу в коде - процесс не быстрый...
Че то нифига не понял. Как работает?
На оф сайте нашел: https://developer.wordpress.org/reference/functions/apply_filters/
Это получается если я вешаю функцию на add_filter, то потом я могу в переменную записать форматированное значение через apply_filters?
Да
Вот тут начало прочитайте: как работают фильтры
классная штука) если какую-тему подправить надо - вообще не заменима (если конечно в теме используется apply_filters)