WordPress как на ладони
WordCamp Saint Petersburg 2018 wordpress jino

wp_head() WP 1.2.1

Запускает хук-событие wp_head. Вызывается в шапке сайта в файле: header.php

wp_head() - это Тег шаблона, который нужно вставлять перед </head>, в файлах темы: header.php или index.php, если header.php не используется.

Подробнее читайте в описании события wp_head

Есть аналогичная функция, только работает для подвала: запускает хук wp_footer в подвале сайта: wp_footer().

Работает на основе: do_action()
Хуки из функции:
Возвращает

Ничего не возвращает.

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

<?php wp_head(); ?>

Примеры

#1. Обязательная строка в шапке любой темы.

Пример, из файла базовой темы wp-content/themes/twentyten/header.php:

<?php 
/**
 * wp_head() всегда должен быть перед </head>
 * иначе будет нарушена работа многих плагинов, которые
 * используют этот хук, чтобы добавить свои коды в <head>. Это:
 * стили (styles), скрипты (scripts) и метатеги.
 */
wp_head();
?>
</head>

Код wp head: wp-includes/general-template.php VER 4.9.6

<?php
function wp_head() {
	/**
	 * Prints scripts or data in the head tag on the front end.
	 *
	 * @since 1.5.0
	 */
	do_action( 'wp_head' );
}

Cвязанные функции

Из раздела: Другие функции темы

Еще из тегов шаблона: Основные

13 комментов
Полезные 1 Вопросы 1 Все
  • Александр cайт: numb.esy.es

    Как именно темы и плагины цепляют в него свои скрипты и стили? Как или где редактировать содержимое которое выводит эта функция?

    Ответить4 года назад #
    • Kama5320

      Все плагины, которые используют скрипты и стили во вронтэнде. Редактируется через изменение событий wp_head:

      add_action('wp_head', 'функция');
      remove_action('wp_head', 'функция');
      3
      Ответить4 года назад #
  • Этот wp_head генерит в шапке кучи мусора, как бы ограничить то, что он выводит? Мне в теме к примеру не нужны подключение шрифтов из googlefonts , rss ссылки и прочее...

    Ответить2.5 года назад #
    • Kama5320

      Примерно так:

      ## Удаляем лишнее с head части сайта 
      remove_action( 'wp_head', 'feed_links_extra', 3 ); 
      remove_action( 'wp_head', 'feed_links', 2 );
      remove_action( 'wp_head', 'rsd_link' );
      remove_action( 'wp_head', 'wlwmanifest_link' );
      remove_action( 'wp_head', 'index_rel_link' );
      remove_action( 'wp_head', 'start_post_rel_link', 10, 0 );
      remove_action( 'wp_head', 'parent_post_rel_link', 10, 0 ); 
      #remove_action( 'wp_head', 'adjacent_posts_rel_link', 10, 0 ); // Убираем связанные ссылки
      
      //3.0+
      remove_action( 'wp_head', 'adjacent_posts_rel_link_wp_head', 10 ); // Ссылки на соседние статьи (<link rel='next'... <link rel='prev'...)
      remove_action( 'wp_head', 'wp_shortlink_wp_head', 10 ); // Короткая ссылка, ссылка без ЧПУ <link rel='shortlink'
      
      //add_filter('template_redirect', function(){   if( is_page() ) remove_action( "wp_head", "rel_canonical" ); }); // удаляем rel_canonical для страниц
      add_filter('the_generator', '__return_empty_string'); // Убираем версию WordPress
      
      2
      Ответить2.5 года назад #
  • WPShop5 cайт: wpshop.ru

    Вы видели, первая ссылочка в посте ведет на другой блог? Так и задумано?

    Ответить2.5 года назад #
    • Kama5320

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

      Ответить2.5 года назад #
  • DrLecter cайт: washrepair.ru

    Как добавить в подключаемые скрипты async? Чтобы ускорить загрузку страницы... либо есть другое решение?

    Ответить2.3 года назад #
    • Kama5320

      Скрипт должен поддерживать такую подгрузку, если не поддерживает то так загружать опасно, скорее всего работать не будет как нужно...

      Ответить2.3 года назад #
      • @ Taho

        Ну а все таки как можно добавить? Подскажите?

        Ответитьгод назад #
        • Kama5320

          Что добавить? в script тег async впиши и все: <script async ... он будет загружаться асинхронно, только будет ли он работать при этом...

          Ответитьгод назад #
  • Александр

    Подскажите, пожалуйста, как удалить комментарий в head:

    <!-- All in One SEO Pack 2.2.7.5 by Michael Torbert of Semper Fi Web Design[244,295] -->
    Ответить1.9 год назад #
    • llgruff46 cайт: vygodno.me
      /**
       * Remove [All in One SEO Pack] HTML Comments
       * @link //gist.github.com/llgruff/a7ab776167aa0ed307ec445df54e5fdb
       */
      if (defined('AIOSEOP_VERSION')){
      	add_action('get_header', function() {
      		ob_start(
      			function($o) {
      				return preg_replace('/\n?<.*?One SEO Pack.*?>/mi','',$o);
      			}
      		);
      	});
      	add_action('wp_head', function() {
      		ob_end_flush();
      	}, 999);
      }
      3
      Ответить1.6 год назад #
  • Здравствуйте!
    Создаю свой первый шаблон.
    Но почему-то после добавления php wp_head(); вылезает ошибка:

    Warning: call_user_func_array() expects parameter 1 to be a valid callback, function 'load_style_scrip' not found or invalid function name in H:\OSPanel\domains\avalan.kz\wp-includes\class-wp-hook.php on line 286

    При этом админ.панель не отображается и стили тоже не подключаются.
    Вставляю в index.php перед тегом /head, при этом php wp_footer(); встаёт без ошибок.
    Несколько раз удалял и добавлял php wp_head(); и вычислил, что эта функция вызывает ошибку.
    Так же если в файле функций удаляю: add_action ('wp_enqueue_scripts', 'load_style_scrip'); то оповещение об ошибке тоже пропадает.

    ИСПРАВИЛ ОШИБКУ

    Вижу, что опечатка в слове script smile

    Ответить2 месяца назад #

Здравствуйте, !