apply_filters()
Применяет прикрепленную к указанному фильтру PHP функцию.
Прикрепляется PHP функция к фильтру с помощью add_filter().
Используется там, где нужно изменить значение переменной (например, дать возможность изменить оригинальный текст).
Используется в плагинах и темах, для создания хуков-фильтров (зацепок дающих возможность изменить оригинальные данные).
Новые фильтры должны иметь уникальные названия и не должны совпадать с уже имеющимися в WP названиями фильтров.
Кроме фильтров в WP есть еще события (actions), их принцип работы такой же. Разница лишь в том, что фильтр должен вернуть полученную переменную, т.е. он фильтрует (изменяет) данные, а событие позволяет запустить функцию или сделать что-то еще в момент срабатывания этого события. События запускаются функцией do_action()
Смотрите также аналогичную функцию apply_filters_ref_array(), которая позволяет предавать параметры по ссылке.
Хуков нет.
Возвращает
Разное
. Отфильтрованное значение $value
, которое передается функции-обработчику хука.
Использование
apply_filters( $hook_name, $value, ...$args );
- $hook_name(строка) (обязательный)
- Название фильтра.
- $value(строка/массив/число/объект/логический) (обязательный)
- Значение, которое будет передаваться функции в её первом аргументе, другими словами - значение, которое нужно отфильтровать.
- ...$args(строка/массив/число/объект/логический)
- Дополнительные значения, которые будет передавать фильтр функции.
Примеры
#1 Пример фильтрации
Получение отфильтрованного значения:
$value = apply_filters( 'filter_name', $value );
Отфильтровать значение и вывести его на экран:
echo apply_filters( 'filter_name', $value );
Передача дополнительных аргументов для функции фильтра:
$value = apply_filters( 'filter_name', $value, $arg1, $arg2, ... );
Например:
$value = apply_filters( 'filter_name', 'filter me', 'arg1', 'arg2 ');
#2 Пример вывода отформатированного контента записи через фильтр.
Альтернатива функции the_content():
global $post; echo apply_filters( 'the_content', $post->post_content );
Заметки
- Global. WP_Hook[]. $wp_filter Stores all of the filters and actions.
- Global. int[]. $wp_filters Stores the number of times each filter was triggered.
- Global. Строка[]. $wp_current_filter Stores the list of current filters with the current one last.
Список изменений
С версии 0.71 | Введена. |
С версии 6.0.0 | Formalized the existing and already documented ...$args parameter by adding it to the function signature. |