Почему wp_head() создает верхний отступ в заголовке моей темы?
Я создаю пользовательскую тему, и элементы ведут себя как должны, но когда я добавляю тег <?php wp_head() ?>
, появляется верхний отступ в заголовке моей темы.
Когда я удаляю <?php wp_head(); ?>
, отступ исчезает. Я уже долго бьюсь над этой проблемой, любая помощь будет очень кстати.

Трудно сказать наверняка без визуального осмотра, но можно сделать обоснованное предположение:
Скорее всего, это CSS-стили для админ-панели, которая отображается только когда вы авторизованы. Функция <?php wp_head() ?>
подключает CSS для неё, а <?php wp_footer(); ?>
включает HTML-код самой админ-панели.
Если присмотреться, на самом деле это должно быть свойство margin-top, добавленное к тегу html.

Да, я помог нескольким людям и видел такое. Думаю, основная проблема в том, что люди не включают wp_footer() в шаблон

Если вы попытаетесь скрыть панель администратора, используя фильтр show_admin_bar
, но сделаете это слишком поздно (например, хук init
с приоритетом по умолчанию уже слишком поздно), вы получите дополнительный отступ сверху в 28 пикселей, но без самой панели администратора.

Блок стилей отступов выводится функцией _admin_bar_bump_cb
, которая выполняется в действии wp_head
. Вы можете удалить это действие, вызвав:
remove_action('wp_head', '_admin_bar_bump_cb');
Я добавил этот вызов в свой хук функции enqueue scripts, и он успешно убрал верхний отступ, но уверен, что его можно разместить в любом месте файла functions.php, и он будет работать корректно.
Таким образом, вам не понадобится громоздкое переопределение в CSS =)

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