В WordPress существует два типа хуков: action и filter

Хуки помогают разработчикам изменять или расширять функциональность WordPress без изменения исходного кода ядра. Вот несколько самых полезных хуков для разработки тем и плагинов.

Action Хуки:

  1. init
    • Срабатывает после загрузки WordPress, когда темы и плагины загружены.
    • Полезен для регистрации пользовательских типов записей, таксономий и функций.
  2. wp_enqueue_scripts
    • Используется для подключения стилей и скриптов на фронтенде.
    • Рекомендуется для добавления CSS и JavaScript файлов.
  3. admin_enqueue_scripts
    • Позволяет подключать стили и скрипты на страницах админки.
  4. wp_head
    • Вызывается в <head> перед закрывающим тегом. Можно использовать для добавления мета-тегов, стилей или скриптов.
  5. wp_footer
    • Вызывается перед закрывающим тегом </body>. Часто используется для подключения скриптов.
  6. the_content
    • Срабатывает при выводе контента записи. Полезно для добавления элементов в посты, например, социальные кнопки.
  7. save_post
    • Срабатывает при сохранении или обновлении записи. Можно использовать для выполнения действий, связанных с сохранением данных.
  8. template_redirect
    • Срабатывает перед рендерингом шаблона. Можно использовать для редиректов на основе условий.
  9. wp_login
    • Срабатывает при успешном входе пользователя в систему. Полезен для выполнения каких-то действий сразу после авторизации.
  10. shutdown
    • Срабатывает в самом конце выполнения скрипта. Используется для финальных операций, таких как запись в логи.

Filter Хуки:

  1. the_content
    • Позволяет изменять содержимое записи перед выводом. Часто используется для добавления рекламы, кнопок и других элементов в контент.
  2. the_title
    • Позволяет модифицировать заголовок записи перед его выводом.
  3. wp_nav_menu_items
    • Позволяет изменять элементы навигационного меню.
  4. upload_mimes
    • Позволяет добавить поддержку новых типов файлов при загрузке через медиабиблиотеку.
  5. excerpt_length
    • Позволяет изменить длину отрывка (excerpt) постов.
  6. excerpt_more
    • Позволяет изменить текст «Читать далее…» в отрывках.
  7. body_class
    • Позволяет добавить дополнительные классы в тег <body>, полезно для настройки стилей на различных страницах.
  8. wp_mail
    • Позволяет изменить параметры отправляемого письма, такие как заголовки или тело сообщения.
  9. login_redirect
    • Позволяет изменить URL для редиректа после входа пользователя в систему.
  10. query_vars
    • Позволяет добавить пользовательские переменные в запросы WordPress.

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

Вот примеры использования Action и Filter хуков в WordPress для более наглядного понимания:

Примеры для Action Хуков

  1. wp_enqueue_scripts — Подключение скриптов и стилей

function my_theme_enqueue_styles() {
    wp_enqueue_style('my-theme-style', get_stylesheet_uri()); // Подключаем основной файл стилей темы
    wp_enqueue_script('my-custom-js', get_template_directory_uri() . '/js/custom.js', array(), '1.0', true); // Подключаем кастомный скрипт
}
add_action('wp_enqueue_scripts', 'my_theme_enqueue_styles');

Примеры для Filter Хуков

the_content — Изменение содержимого записи перед выводом

function add_custom_message_to_content($content) {
    if (is_single()) {
        $custom_message = '<p>Спасибо, что читаете наш блог!</p>';
        $content .= $custom_message; // Добавляем сообщение в конце статьи
    }
    return $content;
}
add_filter('the_content', 'add_custom_message_to_content');

Почитаем еще?: