4. Хуки (Hooks)

Плагины WordPress взаимодействуют с основным кодом с помощью хуков (крючков). Существует два разных типа хуков WordPress:

  • Хуки действий (экшенов) — добавление или удаление функций
  • Хуки фильтров — изменяют данные, созданные функциями

На английском языке в руководствах они называются Action hooks (действия) и Filter hooks (фильтры). В дальнейшем мы часто будем использовать эти два слова — экшены и фильтры.

Хуки — это способ для одного куска кода взаимодействовать/модифицировать другой кусок кода в специфических, предопределенных точках. Они составляют основу того, как плагины и темы взаимодействуют с ядром WordPress (Core), но они также широко используются самим ядром.

Есть два типа хуков: Действия (Actions) и Фильтры (Filters). Чтобы использовать любой из них, вам нужно написать пользовательскую функцию, известную как Callback, а затем зарегистрировать ее с помощью хука WordPress для конкретного действия или фильтра.

Callback-функции — это Функции обратного вызова.

Действия (Actions) позволяют добавлять данные или изменять работу WordPress. Функции обратного вызова для Actions будут выполняться в определенных точках при выполнении WordPress, и могут выполнять какие-то задачи, например, выводить данные пользователю или вставлять что-то в базу данных. Экшены не возвращают ничего обратно в вызывающий хук.

Фильтры (Filters) дают возможность изменять данные во время выполнения WordPress. Функции обратного вызова для Фильтров будут принимать переменную, изменять ее и возвращать. Они предназначены для изолированной работы и никогда не должны иметь побочных эффектов, таких как воздействие на глобальные переменные и вывод. Фильтры ожидают, что к ним что-то вернется.

Экшены против Фильтров

Основное различие между действием и фильтром можно резюмировать следующим образом:

  • действие принимает информацию, которую получает, что-то делает с ней, и ничего не возвращает. Другими словами: он действует на что-то, а затем выходит, ничего не возвращая обратно на вызывающий хук.
  • фильтр принимает полученную информацию, как-то модифицирует ее и возвращает. Другими словами: он фильтрует что-то и передает это обратно на хук для дальнейшего использования.

Другими словами:

  • действие прерывает поток кода, чтобы что-то сделать, а затем возвращается в нормальный поток, ничего не изменяя;
  • фильтр используется для модификации чего-либо определенным образом, так что модификация затем используется кодом.

«Что-то» — это список параметров, посылаемый через определение хука. Подробнее об этом в следующих разделах.

Дополнительно

Была ли эта страница полезной?