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