поздний ответ
Краткое объяснение
apply_filters()
взаимодействует с global $wp_filters
массивом. По сути, он просто проверяет массив, если текущий фильтр (или ловушка) имеет прикрепленное действие (/ функцию обратного вызова), а затем вызывает его.
Длинное объяснение
Когда вы прикрепляете обратный вызов / действие к фильтру или ловушке, вы просто добавляете имя обратного вызова в массив глобальных фильтров. Когда затем в коде (например, в шаблоне, ядре или файле плагина) происходит вызов do_action()
или apply_filters()
происходит, тогда WordPress выполняет поиск по массиву и вызывает обратный вызов. Единственное, что делает фильтры более особенными, чем хуки, это то, что они возвращают значение (для дальнейшей обработки) вместо того, чтобы просто запускать обратный вызов. Итак, резюмируем: ловушки предназначены для вставки данных, а фильтры - для изменения данных.