Что такое хуки WordPress? Как действия и фильтры помогают расширить функциональность?
Опубликовано: 2018-06-13
Последнее обновление — 9 октября 2020 г.
Если вы когда-либо работали над WordPress, вы, должно быть, много раз сталкивались со словом « крючок ». Если вы разработчик WordPress, который хочет создавать плагины и темы, то хуки WordPress имеют решающее значение для вашей разработки.
Но что такое хуки?
Согласно кодексу WordPress.org, « крючки предоставляются WordPress, чтобы позволить вашему плагину «подключаться» к остальной части WordPress; то есть вызывать функции в вашем плагине в определенное время и тем самым запускать ваш плагин».
Крючки в общих чертах соединяют одну вещь с другой. В терминологии WordPress он перехватывает (соединяет) определяемый пользователем код с существующим кодом ядра WordPress.
Давайте просто получить это прямо.
WordPress построен с некоторыми функциями по умолчанию. Он имеет поведение по умолчанию и связанные с ним значения. С помощью хуков вы можете изменить это поведение по умолчанию и заменить существующее значение, тем самым настроив среду WordPress в соответствии с вашими потребностями.
Типы крючков
Есть два типа хуков:
- Хуки действий — используются для выполнения в какой-то момент выполнения, изменяя поток выполнения по умолчанию. Вот список хуков WordPress Action.
- Перехватчики фильтров — немного отличающиеся от перехватчиков действий, перехватчики фильтров используются для изменения данных WordPress по умолчанию и замены их пользовательскими значениями, прежде чем они будут показаны пользователю во внешнем интерфейсе или сохранены в базе данных. Список хуков фильтров можно найти в Кодексе WordPress.
По сути, хуки сами по себе являются предопределенными функциями. Следовательно, два типа функций, связанных с хуками:
- Функции действий . Эти функции полезны в случаях публикации блога, загрузки страницы и т. д.
Ниже приведены некоторые из функций действия:- add_action()
- сделал_действие()
- выполнение_действия()
- do_action()
- do_action_ref_array()
- has_action()
- удалить_действие()
- удалить_все_действия()
- Функции фильтра. Каждая функция фильтра возвращает некоторое значение и заменяет его данными WordPress по умолчанию.
Функции фильтра включают в себя следующее:- добавить_фильтр()
- применить_фильтры()
- apply_filters_ref_array()
- текущий_фильтр()
- выполнение_фильтра()
- has_filter()
- удалить_все_фильтры()
- удалить_фильтр()
Инфографика
Обратите внимание на следующую инфографику, чтобы лучше понять, как работают хуки.

Как показано на инфографике выше, функции «Действие» и «Фильтр» используют соответствующие хуки для изменения основного кода WordPress.
Как выглядит крючок?
Типичный хук Action имеет следующую форму:
add_action('hook', 'your_custom_function_name', [priority], [accepted_parameters]); функция your_custom_function_name() { //Ваш пользовательский код }
Где хук — это имя хука, your_custom_function_name — это имя функции с вашим пользовательским кодом, необязательным параметром приоритета , который указывает, как должен выполняться хук, принятыми параметрами , указывающими дополнительные параметры, и пользовательский код. вызов функции ( add_action() ) может быть ниже или выше фрагмента кода.
Хук Filter имеет следующую форму:
add_filter('фильтр', 'имя_вашей_пользовательской_функции', 'приоритет', 'принятые_аргументы'); функция your_custom_function_name($variable) { //Ваш пользовательский код возвращаться; }
Где add_filter() один функций хука Filter, filter — это имя фильтра, который вы собираетесь использовать, your_custom_function_name — это имя вашей пользовательской функции, параметр priority указывает порядок выполнения хука, accept_args указывает аргументы, которые будут переданы, а пользовательский код с обязательным возвращаемым значением.

Как и в случае с WordPress, для WooCommerce также доступны хуки. Эти хуки широко используются для разработки плагинов, тем и настройки процесса оформления заказа WooCommerce.
Прочтите WooCommerce Hooks: Действия и фильтры в документации WooCommerce, чтобы подробно разобраться в крючках WooCommerce.
Демонстрация
Давайте разберемся с хуками, используя некоторые примеры фрагментов кода.
Хук действия и функция
//Добавление хука Action функция my_action_hook() { echo "<p align='center'>Это пример хука действия</p>"; } add_action('get_header', 'my_action_hook');
В приведенном выше фрагменте кода «my_action_hook» — это имя пользовательской функции, «add_action» — одна из функций действия, а «get_header» используется для настройки заголовка шаблона. В данном фрагменте кода мы отображаем текст «Это демонстрация хука действия» в разделе заголовка веб-сайта.
Образец снимка экрана, показывающий примененные изменения фрагмента кода, показан ниже.

Крюк фильтра и функция
//Добавление хука фильтра add_filter('woocommerce_get_price_html','my_filter_hook'); функция my_filter_hook ($ цена) { return 'Всего за '.$цену; }
В приведенном выше фрагменте кода «woocommerce_get_price_html» — это хук WooCommerce для получения цены продукта, «my_filter_hook» — это имя определяемого пользователем фильтра, а «$price» — определяемая пользователем переменная. Фрагмент кода просто добавляет префикс «Просто» к цене товара.
На следующем снимке экрана показано, как фрагмент кода влияет на наш магазин WooCommerce.

Это всего лишь простой пример, с помощью хуков можно добиться многого.
Как действия и фильтры помогают расширить функциональность?
- Основное преимущество использования хуков заключается в том, что они помогают настроить основной код WordPress.
- Любые изменения в разработке можно тщательно отслеживать, поскольку модификация минимальна, а не повторяется в коде несколько раз.
- Разработка новых плагинов становится намного проще благодаря методу проб и испытаний.
- Для разработки тем можно создавать дочерние темы и экспериментировать с хуками, не затрагивая родительскую тему.
- Это простое и удобное предложение WordPress с понятной структурой и подробной документацией для любой справки.
- Поддерживает WooCommerce, самый популярный плагин для электронной коммерции WordPress. Плагины ценообразования WooCommerce широко изменяют цены на продукты, расчеты цен и предлагают динамическое ценообразование и скидки с помощью крючков WooCommerce. Детали заказа, информацию о продукте, информацию о доставке среди вещей можно прослушивать с помощью пользовательских крючков.
Заключительные комментарии
Хуки WordPress являются ключевым механизмом для разработки плагинов и тем. Они широко используются для изменения существующего кода WordPress для настройки веб-сайта. Хотя хуки имеют ряд преимуществ, следует убедиться, что каждый пользовательский хук уникален и не пересекается с другим хуком с таким же именем. Даже в этом случае вы можете назначить приоритет хукам для выполнения в соответствии с вашими потребностями.
Ознакомьтесь с нашими статьями о настройке WooCommerce, чтобы получить советы по настройке вашего магазина WooCommerce.
Или продолжайте изучать LearnWoo, чтобы найти еще больше замечательных статей.