Любая страница сайта на WordPress состоит из множества функций, файлов и запросов к базе данных. Ядро CMS WordPress, плагины и тема работают в связке, чтобы сгруппировать элементы страницы, такие как текст, картинки, скрипты и стили, — дабы в браузере отобразилась итоговая страница.
Как и любая CMS, WordPress не всегда сможет удовлетворить все ваши потребности, и у разработчиков часто возникает соблазн напрямую настроить эту популярную CMS — влезть в исходный код и немного его подправить. Но такой подход может создать ненужные проблемы для функциональности сайта. К счастью, есть лучший способ: с помощью хуков, действий и фильтров, в ВордПресс. Хуки (действия и фильтры) WordPress позволяют вам «подключиться» к этому процессу сборки в определенные моменты и запустить свой собственный код, не затрагивая основные файлы.
Хук, с английского hook — крюк, поэтому хуки также известны как «крючки», «зацепки», «перехватчики», «ловушки», «захват», «перехват» и т.д.
Если вы попробуете подсчитать хуки в кодовой базе ядра WordPress Core, то обнаружите сотни, если не тысячи, хуков. Если еще прибавить сюда темы и плагины, хуков вы насчитаете очень много. Отсюда вывод — программисты не только пользуются хуками, но и их использование является очень популярным решением.
Хуки WordPress делятся на два основных типа: хуки действий (action
) и хуки фильтров (filter
). Хуки действий позволяют вам вставлять собственный код в определенные точки вашего сайта на ВордПресс, например, когда загружается страница или когда пользователь входит в систему. Хуки фильтров, с другой стороны, позволяют вам изменять данные перед их отправкой в базу данных или браузер.
Короче говоря, хуки действий позволяют расширять полученную информацию (данные), а хуки фильтров позволяют изменять эти данные и возвращать пользователю. Понимание этих двух типов хуков имеет решающее значение для настройки и расширения функциональности вашего сайта на WordPress.
Основное различие между хуками действий и хуками-фильтрами заключается в их назначении. Хуки действий используются для вставки пользовательского кода в определенные моменты выполнения ВордПресс, а хуки фильтров используются для изменения данных перед их сохранением в базе данных или отображением пользователю. Другими словами, перехватчики действий связаны с синхронизацией, а перехватчики фильтров — с манипулированием данными.
Создание пользовательского хука действия в WordPress состоит из двух шагов. Во-первых, вам нужно определить хук в вашей теме или плагине с помощью функции do_action()
. Эта функция принимает два параметра: имя перехватчика действия и любые дополнительные аргументы. Во-вторых, запустить этот хук, используя функцию add_action()
. Эта функция принимает три параметра: имя хука действия, добавляемую функцию и приоритет функции.
Хуки фильтров в WordPress позволяют изменять данные до того, как они будут сохранены в базе данных или отображены пользователю. Чтобы использовать хук фильтра, вам нужно добавить функцию к одному из существующих фильтров в коде, с помощью функции add_filter()
. Эта функция принимает те же параметры, что и функция add_action()
.Зацепка фильтр должна принимать данные для фильтрации в качестве параметра, изменять их, а затем возвращать.
Чтобы удалить функцию из хука в ВордПресс, вы можете использовать функцию remove_action()
или remove_filter()
. Эти функции принимают те же параметры, что и соответствующие им функции добавления: имя зацепки и удаляемую функцию. Обратите внимание, что вы можете удалить функцию из перехватчика, только если она была добавлена с идентифицируемым (существующим) названием функции обратного вызова (callback
).
Да, вы можете добавить несколько функций в один и тот же хук в WordPress. Каждая функция будет выполняться в том порядке, в котором они были добавлены, если вы не укажете приоритет. Параметр Priority в функциях add_action()
и add_filter()
определяет порядок выполнения функций, при этом меньшие номера соответствуют более раннему выполнению.
Хуки WordPress используются для самых разных целей: от настройки внешнего вида вашего сайта до расширения его функциональности. Например, вы можете использовать перехватчики действий для добавления пользовательских метатегов в заголовки HTML-документа или для вставки кода отслеживания (аналитики) в футер сайта. Хуки фильтров можно использовать для настройки содержимого ваших постов, например, путем автоматического добавления уведомления об авторских правах в конце каждой публикаций. Вариантов использования зацепок в ВордПресс — огромная масса.
Есть несколько способов найти доступные хуки в WordPress. Один из способов — просмотреть Кодекс WordPress, где представлен полный список доступных перехватчиков. Другой способ — использовать соответствующие плагины, которые отображают все хуки действий и хуки фильтров, что используются на текущей странице.
Да, вы можете создавать свои собственные хуки в WordPress. Это часто делается при разработке тем и плагинов, чтобы позволить другим разработчикам расширять или изменять ваш код. Чтобы создать свой собственный хук, вам просто нужно вызвать функцию do_action()
или apply_filters()
с уникальным именем для вашего хука.
Некоторые рекомендации по использованию хуков в WordPress включают в себя:
__return_true
и __return_false
для перехватчиков фильтров, для которых требуется логическое (boolean
) значение;
Спасибо за внимание!
Содержание статьи Введение: почему цены решают все Что значит сравнение цен с конкурентами 5 причин,…
В последние годы интерес к саунам в Киеве заметно вырос. Это связано не только с…
В современном ритме мегаполиса отдых стал неотъемлемой частью заботы о здоровье и эмоциональном состоянии. Особенно…
В современном мире цифрового маркетинга Facebook (Meta) остается одной из самых мощных платформ для продвижения…
Этот прибор стал незаменимым элементом арсенала представителей множества профессий, но особенно актуален среди военных. Тепловизор…
Постоянный поток новостей, рабочих задач и личных забот часто приводит к тому, что в голове…