Как использовать хуки в WordPress: практические примеры и советы

Хуки — это одна из самых мощных и гибких возможностей WordPress, которая позволяет изменять и расширять функциональность без правки ядра. В этой статье мы подробно разберём, как правильно использовать хуки в WordPress на практике, рассмотрим основные типы хуков, а также приведём примеры с кодом, которые вы сможете сразу применить на своём сайте.

Что такое хуки в WordPress: action и filter

Хук (hook) — это точка в коде WordPress, где вы можете «вклиниться» своей функцией. Существует два основных типа хуков:

  • Action-хуки — позволяют выполнить какую-то функцию в определённый момент времени. Например, отправить email после публикации записи или добавить скрипт в шапку.
  • Filter-хуки — позволяют изменить данные перед их выводом или сохранением. Например, изменить текст заголовка или содержимое поста.

Понимание разницы между этими типами обязательно для эффективной работы с WordPress.

Основы работы с хуками: добавляем и удаляем функции

Для подключения функции к хуку используется функция add_action или add_filter. Их синтаксис:

add_action('hook_name', 'wpone_function_name', 10, 2);

Параметры:

  • hook_name — имя хука, к которому подключаемся.
  • wpone_function_name — имя вашей функции (рекомендуется префиксировать, например, wpone_).
  • 10 — приоритет выполнения, чем меньше число — тем раньше вызывается функция.
  • 2 — количество аргументов, которые ваша функция принимает.

Чтобы убрать функцию из хука, используйте remove_action или remove_filter с теми же параметрами.

Практический пример 1: добавляем кастомный текст после контента записи

Допустим, нужно добавить в конце каждой записи небольшой блок с призывом подписаться на рассылку. Для этого используем filter-хук the_content, который отвечает за вывод содержимого поста.

function wpone_add_subscribe_text($content) {
    if (is_singular('post')) {
        $content .= '<div class="subscribe-box"><p>Подпишитесь на наши новости!</p></div>';
    }
    return $content;
}
add_filter('the_content', 'wpone_add_subscribe_text');

В этом коде мы дописываем HTML-блок к основному содержимому. Обратите внимание на проверку is_singular('post'), чтобы не добавлять блок на страницы архива или главную.

Практический пример 2: отключаем автоматическое добавление ссылки на WordPress в футере

Некоторые темы автоматически добавляют ссылку на WordPress в нижний колонтитул. Если нужно убрать этот текст, можно воспользоваться action-хуком, который отвечает за вывод футера, или фильтрами темы.

Например, если тема использует хук wp_footer для вывода ссылки, можно попробовать следующий код:

function wpone_remove_footer_credit() {
    remove_action('wp_footer', 'twentytwentyone_footer_credit');
}
add_action('init', 'wpone_remove_footer_credit');

Замените twentytwentyone_footer_credit на имя функции вашей темы, которая выводит ссылку. Если имя неизвестно, используйте дебаг или обратитесь к документации темы.

Используем плагины для удобной работы с хуками

Для изучения и отладки хуков есть несколько полезных плагинов:

  • Query Monitor — показывает все хуки, которые срабатывают на странице, и функции, к ним подключённые.
  • Hookr — позволяет искать хуки по названию и видеть их описание.
  • Simply Show Hooks — выводит на странице список хуков, которые там срабатывают, что удобно для поиска нужного места для подключения.

Эти инструменты существенно ускоряют разработку и помогают избежать ошибок.

Создание собственных хуков в теме или плагине

Вы можете создавать свои хуки для расширяемости собственного кода. Например, в теме в нужном месте вставьте:

do_action('wpone_before_content');

Теперь другие разработчики или вы сами можете подключать свои функции к этому хуку:

add_action('wpone_before_content', 'wpone_custom_function');
function wpone_custom_function() {
    echo '<p>Это текст до содержимого.</p>';
}

То же самое работает и с фильтрами:

$title = apply_filters('wpone_custom_title', $title);

Создание собственных хуков делает ваш код гибким и модульным.

Рекомендации по безопасности и производительности при работе с хуками

При использовании хуков важно соблюдать несколько правил:

  • Не подключайте тяжёлые операции напрямую через хуки, особенно с низким приоритетом.
  • Используйте префиксы (например, wpone_) для всех функций, чтобы избежать конфликтов с другими плагинами и темами.
  • Всегда проверяйте переменные и входные данные внутри функций, подключаемых к хукам.
  • По возможности удаляйте ненужные хуки, чтобы не перегружать выполнение.

Таким образом, вы сделаете свой сайт быстрее и надёжнее.

Заключение

Хуки — это ядро гибкости WordPress, позволяющее вмешиваться в работу сайта без изменения исходного кода. Освоив работу с action и filter хуками, вы сможете создавать мощные кастомизации и расширять сайт именно так, как нужно.

Используйте предоставленные примеры и инструменты, экспериментируйте и совершенствуйте свои навыки разработки на WordPress.

Как использовать PHPMailer в WordPress для отправки писем с кастомными настройками
05.03.2026
Как использовать AJAX в формах WordPress без плагинов
29.01.2026
Как быстро удалить все категории из постов WordPress через код
06.01.2026
Как установить и настроить приватный плагин WordPress
30.12.2025
Создание многоязычного сайта на WordPress с помощью Polylang
19.02.2026