Хук wp_head является одним из самых важных хуков в WordPress, срабатывающим в разделе <head> вашего сайта. Он используется для подключения скриптов, стилей, метатегов и других данных, необходимых для корректного отображения страницы. Данный хук вызывается функцией wp_head(), которая размещается в файле header.php вашей темы.
do_action( ‘wp_head’ )
Этот хук позволяет разработчикам тем и плагинов добавлять свои собственные данные в заголовок HTML-документа. Использование данного хуку является стандартом, поэтому его нужно включать в ваши темы для поддержки функционала плагинов и обеспечения возможности добавления данных в <head>.
Вызов функции wp_head() осуществляется следующим образом:
<head>
    ...
    <?php wp_head(); ?>
</head>
Это должно быть обязательным для всех тем. После вызова wp_head() WordPress автоматически выполнит все функции, подключенные к этому хуку.
1. Добавление CSS Стилизации
Вы можете использовать хук wp_head для добавления произвольных стилей. Например:
<?php
add_action('wp_head', 'add_custom_styles');
function add_custom_styles() {
    ?>
    <style>
        .custom-class {
            background-color: #eaeaea;
        }
    </style>
    <?php
}
2. Встраивание JavaScript
Аналогично можно добавить JavaScript в <head>:
<?php
add_action('wp_head', 'add_custom_script');
function add_custom_script() {
    ?>
    <script>
        console.log('Страница загружается...');
    </script>
    <?php
}
3. Добавление SEO Метатегов
Добавление метатегов для SEO также возможно с помощью данного хука:
add_action('wp_head', 'add_seo_meta_tags');
function add_seo_meta_tags() {
    echo '<meta name="description" content="Описание страницы" />';
    echo '<meta name="keywords" content="Ключевые слова, SEO, WordPress" />';
    echo '<meta name="robots" content="index, follow" />';
}
4. Подключение CSS и JS Файлов
Для подключения CSS и JavaScript рекомендуется использовать функции wp_enqueue_style() и wp_enqueue_script(), так как это позволяет избежать дублирования кода и гарантирует правильный порядок загрузки файлов:
add_action('wp_enqueue_scripts', 'enqueue_my_scripts');
function enqueue_my_scripts() {
    wp_enqueue_style('my_custom_style', get_template_directory_uri() . '/css/custom-style.css');
    wp_enqueue_script('my_custom_script', get_template_directory_uri() . '/js/custom-script.js', array(), null, true);
}
5. Удаление Стандартных Функций из wp_head
WordPress по умолчанию подключает множество функций к хуку wp_head. Если вам нужно удалить какие-то из них, вы можете использовать remove_action():
remove_action('wp_head', 'feed_links', 2); // Удаляет ссылки на фиды
remove_action('wp_head', 'rsd_link'); // Удаляет ссылку RSD
6. Управление Приоритетами
При добавлении функций через add_action(), вы можете установить приоритет, который определяет порядок выполнения функций. Чем меньше приоритет, тем раньше функция будет выполнена:
add_action('wp_head', 'first_function', 10);
add_action('wp_head', 'second_function', 20);
function first_function() {
    echo '<script>console.log("Первая функция");</script>';
}
function second_function() {
    echo '<script>console.log("Вторая функция");</script>';
}
В этом примере first_function будет выполнена перед second_function.
Заключение
Хук wp_head предоставляет разработчикам мощный инструмент для управления содержимым <head> вашего сайта. Используя этот хук, вы можете добавлять свои стили, скрипты, метатеги и настраивать заголовки страниц под свои нужды. Помните, что для оптимальной работы с стилями и скриптами всегда стоит использовать соответствующие функции WordPress, такие как wp_enqueue_style() и wp_enqueue_script(), чтобы избежать конфликтов и обеспечить правильную загрузку ресурсов.