Хуки WordPress и способы их применения

Опубликовано: 01.11.2017

видео Хуки WordPress и способы их применения

Во время разработки на WordPress часто приходится использовать сторонний код для внедрения новых функций и/или обработки данных, подключать дополнительные библиотеки с JavaScript и CSS. Все это можно сделать с помощью механизма хуков, который позволяет элегантно отделять код CMS и ее компонентов от пользовательских скриптов. В этом посте мы разберем, как правильно применять и настраивать хуки WordPress в файле темы functions.php.


Wordpress: разработка темы оформления

Хуки WordPress

Хуки делятся на фильтры и действия.

Фильтры

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


The most important lesson from 83,000 brain scans | Daniel Amen | TEDxOrangeCoast

add_filter — добавляет к фильтру функцию; apply_filter — применяет фильтр к переменной; remove_filter — удаляет функцию из фильтра; remove_all_filters — полностью очищает фильтр от функций.

Рассмотрим простой пример с использованием фильтра для преобразования строки в верхний регистр.

Действия

Действия ничего не возвращают и просто выполняют прикрепленный к ним код, когда это необходимо. Самый яркий пример действия — это хук wp_head . С помощью него к странице могут подключаться CSS и JavaScript. Для работы с действиями используются:

add_action — добавляет к действию функцию; do_action — выполняет действие; remove_action — удаляет функцию из действия; remove_all_actions — удаляет все функции из действия.

Рассмотрим простой пример подключения таблицы стилей через действие.

Во время загрузки страницы действие сработает при вызове функции wp_head(), чаще всего встречающейся в header.php.

Приоритеты функций

Часто случается так, что к одному хуку WordPress прикрепляется несколько функций. Чтобы определить порядок их выполнения, можно его явно указать при «зацепке» функции к фильтру или действию. По умолчанию это значение равно 10.

Аргументы функций

Функциям внутри фильтров и действий иногда нужно передавать аргументы. Этот процесс, разумеется, предусмотрен. Для этого при прикреплении функций к хукам WordPress после приоритета нужно указать количество передаваемых аргументов, а затем во время вызова передать их по очереди.

Заключение

Разобравшись с механизмом хуков WordPress, можно легко настраивать темы и плагины, добавлять необходимую функциональность и не дописывать код после каждого обновления CMS и/или ее компонентов. А как вы применяете фильтры и события в своих проектах?

rss