Я пытаюсь понять некоторые функции в WordPress, но я не могу понять, что apply_filters (...) на самом деле делает.
Кто-нибудь может очистить это для меня несколькими примерами?
Я пытаюсь понять некоторые функции в WordPress, но я не могу понять, что apply_filters (...) на самом деле делает.
Кто-нибудь может очистить это для меня несколькими примерами?
apply_filters($tag, $value)
передает аргумент "значение" каждой из функций "подключен" (используя add_filter
) в указанный фильтр 'тег'. Каждая функция выполняет некоторую обработку по значению и возвращает измененное значение, которое будет передано следующей функции в последовательности.
Например, по умолчанию (в WordPress 2.9) фильтр the_content
передает значение через следующую последовательность функций:
поздний ответ
apply_filters()
взаимодействует с массивом global $wp_filters
. В основном, он просто проверяет массив, если текущий фильтр (или hook) имеет действие (функция обратного вызова), а затем вызывает его.
Когда вы присоединяете обратный вызов/действие к фильтру или hook, вы просто добавляете имя обратного вызова в глобальный массив фильтров. Когда тогда, в коде (например, в шаблоне, ядре или файле плагина) происходит вызов do_action()
или apply_filters()
, тогда WordPress просматривает массив и вызывает обратный вызов. Единственное, что особенно важно с фильтрами, чем с крючками, заключается в том, что оно возвращает значение (для дальнейшей обработки) вместо того, чтобы просто запускать обратный вызов. Итак, суммированы: Крючки должны вставлять данные, а фильтры - для изменения данных.
Вот что я собираю, рассматривая самый популярный ответ и дополнительные ресурсы:
<p>
, лица смайликов преобразуются в значки и т.д.В самых основных терминах apply_filters используется для инициализации крючка фильтра... add_filter назначает новую функцию для уже созданных крючков.