wp_head

Выводит скрипты или данные в теге head на фронтенде
Хук WordPress
INT 1.5.0
WordPress Icon

Описание хука

Хук «wp_head» позволяет добавить скрипты, стили и другие данные в секцию <head> на фронтенде сайта. Он вызывается внутри тега <head> и позволяет определить, какие элементы будут выведены в этой секции.

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

Использование хука «wp_head» позволяет расширить функциональность WordPress и внести необходимые изменения в секцию <head> без необходимости изменения ядра системы.

Использование

do_action( 'wp_head' );

Код do_action( 'wp_head' ); вызывает хук «wp_head» и позволяет добавить свои данные в секцию <head> на фронтенде сайта.

Этот хук обычно вызывается в файле header.php вашей темы и может быть использован для добавления следующих элементов:

  • Скрипты: вы можете добавить свои собственные скрипты, например, для подключения сторонних библиотек или для выполнения специфических действий на странице.
  • Стили: вы можете добавить свои собственные стили для изменения внешнего вида страницы.
  • Мета-теги: вы можете добавить мета-теги, такие как мета-теги для поисковой оптимизации (SEO) или для подключения сторонних сервисов.
  • Другие данные: вы можете добавить любые другие данные, которые должны быть выведены в секции <head>.

Использование хука «wp_head» позволяет вам полностью контролировать содержимое секции <head> на фронтенде сайта и добавлять необходимые элементы для вашего проекта.

Примеры использования

Добавление стилей в head тег


function wpdocs_theme_name_scripts() {
    wp_enqueue_style( 'style-name', get_stylesheet_uri() );
}
add_action( 'wp_enqueue_scripts', 'wpdocs_theme_name_scripts' );

Этот пример демонстрирует, как добавить стиль в head тег с использованием хука wp_head. Функция wp_enqueue_style() используется для добавления стиля в очередь загрузки. В данном случае, стиль с именем ‘style-name’ добавляется в очередь загрузки с помощью функции get_stylesheet_uri(). Затем, с помощью хука wp_enqueue_scripts функция wpdocs_theme_name_scripts() выполняется и стиль добавляется в head тег.

Вывод мета-тегов в head


function wpdocs_theme_name_meta_tags() {
    echo '<meta name="description" content="This is a sample meta tag">';
}
add_action( 'wp_head', 'wpdocs_theme_name_meta_tags' );

Этот пример демонстрирует, как вывести мета-тег в head с использованием хука wp_head. Функция echo используется для вывода мета-тега с указанными атрибутами. Затем, с помощью хука wp_head функция wpdocs_theme_name_meta_tags() выполняется и мета-тег добавляется в head тег.

Добавление скриптов в head


function wpdocs_theme_name_scripts() {
    wp_enqueue_script( 'script-name', get_template_directory_uri() . '/js/example.js', array(), '1.0.0', true );
}
add_action( 'wp_enqueue_scripts', 'wpdocs_theme_name_scripts' );

Этот пример демонстрирует, как добавить скрипт в head тег с использованием хука wp_head. Функция wp_enqueue_script() используется для добавления скрипта в очередь загрузки. В данном случае, скрипт с именем ‘script-name’ добавляется в очередь загрузки с помощью функции get_template_directory_uri() для получения пути к директории шаблона. Затем, с помощью хука wp_enqueue_scripts функция wpdocs_theme_name_scripts() выполняется и скрипт добавляется в head тег.

Изменение порядка вывода элементов в head


function wpdocs_theme_name_change_order() {
    remove_action( 'wp_head', 'wp_generator' );
    add_action( 'wp_head', 'wp_generator', 1 );
}
add_action( 'wp', 'wpdocs_theme_name_change_order' );

Этот пример демонстрирует, как изменить порядок вывода элементов в head с использованием хука wp_head. Функция remove_action() используется для удаления действия wp_generator из хука wp_head. Затем, с помощью функции add_action(), действие wp_generator добавляется обратно в хук wp_head с приоритетом 1. В результате, элемент wp_generator будет выведен первым в head теге.

Добавление дополнительных данных в head


function wpdocs_theme_name_additional_data() {
    echo '<link rel="alternate" type="application/rss+xml" title="RSS Feed" href="' . esc_url( get_feed_link() ) . '" />';
}
add_action( 'wp_head', 'wpdocs_theme_name_additional_data' );

Этот пример демонстрирует, как добавить дополнительные данные в head с использованием хука wp_head. Функция echo используется для вывода дополнительных данных в head теге. В данном случае, выводится ссылка на альтернативную RSS-ленту с использованием функций esc_url() и get_feed_link(). Затем, с помощью хука wp_head функция wpdocs_theme_name_additional_data() выполняется и дополнительные данные добавляются в head тег.

Использование хука wp_head для оптимизации сайта


function wpdocs_theme_name_optimize() {
    remove_action( 'wp_head', 'rsd_link' );
    remove_action( 'wp_head', 'wlwmanifest_link' );
    remove_action( 'wp_head', 'wp_shortlink_wp_head' );
    remove_action( 'wp_head', 'wp_resource_hints', 2 );
    remove_action( 'wp_head', 'feed_links', 2 );
    remove_action( 'wp_head', 'feed_links_extra', 3 );
    remove_action( 'wp_head', 'print_emoji_detection_script', 7 );
    remove_action( 'wp_print_styles', 'print_emoji_styles' );
}
add_action( 'wp', 'wpdocs_theme_name_optimize' );

Этот пример демонстрирует, как использовать хук wp_head для оптимизации сайта. Функции remove_action() используются для удаления ненужных действий из хука wp_head. В данном случае, удаляются следующие действия: rsd_link, wlwmanifest_link, wp_shortlink_wp_head, wp_resource_hints, feed_links, feed_links_extra, print_emoji_detection_script и print_emoji_styles. Затем, с помощью хука wp функция wpdocs_theme_name_optimize() выполняется и ненужные действия удаляются из хука wp_head.

Вопросы и ответы

Как добавить свой скрипт или стили в хук wp_head?

Чтобы добавить свой скрипт или стили в хук wp_head, необходимо использовать функцию wp_enqueue_script() или wp_enqueue_style(). Эти функции регистрируют скрипты и стили, а затем добавляют их в очередь для вывода в хуке wp_head.

Пример кода для добавления скрипта:

function my_custom_script() {
    wp_enqueue_script( 'my-script', get_template_directory_uri() . '/js/my-script.js', array(), '1.0', true );
}
add_action( 'wp_enqueue_scripts', 'my_custom_script' );

Пример кода для добавления стилей:

function my_custom_styles() {
    wp_enqueue_style( 'my-style', get_template_directory_uri() . '/css/my-style.css', array(), '1.0', 'all' );
}
add_action( 'wp_enqueue_scripts', 'my_custom_styles' );

Как изменить порядок вывода скриптов и стилей в хуке wp_head?

Для изменения порядка вывода скриптов и стилей в хуке wp_head используется параметр ‘priority’ при добавлении скриптов и стилей с помощью функций wp_enqueue_script() и wp_enqueue_style().

Чем меньше значение у параметра ‘priority’, тем раньше будет выводиться скрипт или стиль.

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

function my_custom_script() {
    wp_enqueue_script( 'my-script', get_template_directory_uri() . '/js/my-script.js', array(), '1.0', true );
}
add_action( 'wp_enqueue_scripts', 'my_custom_script', 5 );

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

function my_custom_styles() {
    wp_enqueue_style( 'my-style', get_template_directory_uri() . '/css/my-style.css', array(), '1.0', 'all' );
}
add_action( 'wp_enqueue_scripts', 'my_custom_styles', 10 );

Как удалить или отключить определенный скрипт или стиль из хука wp_head?

Для удаления или отключения определенного скрипта или стиля из хука wp_head используется функция wp_dequeue_script() или wp_dequeue_style().

Пример кода для удаления скрипта:

function remove_my_script() {
    wp_dequeue_script( 'my-script' );
}
add_action( 'wp_print_scripts', 'remove_my_script' );

Пример кода для удаления стиля:

function remove_my_style() {
    wp_dequeue_style( 'my-style' );
}
add_action( 'wp_print_styles', 'remove_my_style' );

Как добавить мета-теги в хук wp_head?

Для добавления мета-тегов в хук wp_head в WordPress можно использовать функцию add_action. Эта функция позволяет добавить пользовательскую функцию в указанный хук.

Пример кода:


function add_custom_meta_tags() {
    echo '<meta name="description" content="This is a custom meta tag">';
}
add_action( 'wp_head', 'add_custom_meta_tags' );

Как использовать хук wp_head для добавления аналитики или пикселя отслеживания?

Для добавления аналитики или пикселя отслеживания в хук wp_head в WordPress также можно использовать функцию add_action.

Пример кода:


function add_analytics_code() {
    echo '<script> // Your analytics code here </script>';
}
add_action( 'wp_head', 'add_analytics_code' );

Как добавить условие или проверку перед выводом скриптов или стилей в хуке wp_head?

Чтобы добавить условие или проверку перед выводом скриптов или стилей в хуке wp_head, можно использовать функцию wp_enqueue_script или wp_enqueue_style.

Пример кода:


function load_custom_scripts() {
    if ( is_front_page() ) {
        wp_enqueue_script( 'custom-script', get_template_directory_uri() . '/js/custom-script.js', array(), '1.0', true );
    }
}
add_action( 'wp_enqueue_scripts', 'load_custom_scripts' );

Как использовать хук wp_head для добавления Open Graph мета-тегов?

Хук wp_head позволяет добавить Open Graph мета-теги в head секцию сайта. Open Graph мета-теги используются для определения информации, которая будет отображаться при публикации ссылки на сайт в социальных сетях.

Для добавления Open Graph мета-тегов с помощью хука wp_head, необходимо использовать функцию add_action(). В качестве аргументов функции add_action() указывается имя хука ‘wp_head’ и функция, которая будет вызываться при срабатывании хука.


function add_open_graph_meta_tags() {
    echo '<meta property="og:title" content="Заголовок страницы" />';
    echo '<meta property="og:description" content="Описание страницы" />';
    echo '<meta property="og:image" content="URL изображения" />';
}
add_action( 'wp_head', 'add_open_graph_meta_tags' );

Как использовать хук wp_head для добавления favicon?

Хук wp_head также может быть использован для добавления favicon — иконки, которая отображается во вкладке браузера рядом с названием сайта.

Для добавления favicon с помощью хука wp_head, необходимо использовать функцию add_action(). В качестве аргументов функции add_action() указывается имя хука ‘wp_head’ и функция, которая будет вызываться при срабатывании хука.


function add_favicon() {
    echo '<link rel="icon" href="URL иконки" type="image/x-icon" />';
}
add_action( 'wp_head', 'add_favicon' );

Как использовать хук wp_head для добавления CSS классов к body тегу?

Хук wp_head также может быть использован для добавления CSS классов к body тегу. Это может быть полезно, например, для добавления классов, основанных на определенных условиях или настройках сайта.

Для добавления CSS классов к body тегу с помощью хука wp_head, необходимо использовать функцию add_action(). В качестве аргументов функции add_action() указывается имя хука ‘wp_head’ и функция, которая будет вызываться при срабатывании хука.


function add_body_classes( $classes ) {
    if ( is_front_page() ) {
        $classes[] = 'home';
    }
    if ( is_single() ) {
        $classes[] = 'single-post';
    }
    return $classes;
}
add_action( 'wp_head', 'add_body_classes' );

Хук wp_head — это мощный инструмент, который позволяет добавлять различные элементы в head секцию сайта. С его помощью можно легко добавить Open Graph мета-теги, favicon или CSS классы к body тегу. Использование хука wp_head позволяет расширить функциональность сайта и улучшить его внешний вид и взаимодействие с другими сервисами.

Связанные элементы

  • Функция wp_enqueue_script(): Регистрирует скрипт для подключения на странице.
  • Функция wp_enqueue_style(): Регистрирует таблицу стилей для подключения на странице.
  • Функция wp_register_script(): Регистрирует скрипт для последующего подключения на странице.
  • Функция wp_register_style(): Регистрирует таблицу стилей для последующего подключения на странице.
  • Функция wp_print_scripts(): Выводит зарегистрированные скрипты на странице.
  • Функция wp_print_styles(): Выводит зарегистрированные таблицы стилей на странице.
  • Функция wp_head(): Выводит содержимое хука ‘wp_head’ внутри тега <head>.
  • Функция wp_footer(): Выводит содержимое хука ‘wp_footer’ перед закрывающим тегом </body>.
  • Класс WP_Scripts: Предоставляет методы для работы со скриптами в WordPress.
  • Класс WP_Styles: Предоставляет методы для работы с таблицами стилей в WordPress.
Обсуждение