Почему wp_head() создает верхний отступ в заголовке моей темы?

19 мая 2011 г., 07:03:56
Просмотры: 14.2K
Голосов: 12

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

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

1
Комментарии

что-то, что подключается через wp_head, выводит пробелы перед любым HTML-кодом?

Milo Milo
19 мая 2011 г. 07:15:22
Все ответы на вопрос 8
3
12

Трудно сказать наверняка без визуального осмотра, но можно сделать обоснованное предположение:

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

Если присмотреться, на самом деле это должно быть свойство margin-top, добавленное к тегу html.

19 мая 2011 г. 08:08:32
Комментарии

согласен, несколько раз сталкивался с этой проблемой

MartinJJ MartinJJ
19 мая 2011 г. 10:48:18

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

Ryan Gibbons Ryan Gibbons
19 мая 2011 г. 18:21:52

Автору вопроса - думаю, вам стоит принять этот ответ.

Greeso Greeso
6 июл. 2015 г. 07:28:44
0

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

19 мая 2011 г. 18:02:17
0

Блок стилей отступов выводится функцией _admin_bar_bump_cb, которая выполняется в действии wp_head. Вы можете удалить это действие, вызвав:

remove_action('wp_head', '_admin_bar_bump_cb');

Я добавил этот вызов в свой хук функции enqueue scripts, и он успешно убрал верхний отступ, но уверен, что его можно разместить в любом месте файла functions.php, и он будет работать корректно.

Таким образом, вам не понадобится громоздкое переопределение в CSS =)

29 апр. 2013 г. 01:38:06
1

Я также столкнулся с этой проблемой и решил её, добавив следующее:

html{ margin-top:0px !important;}

Поместите этот код в начало CSS-файла вашей темы.

29 июл. 2011 г. 04:46:25
Комментарии

этот ответ не работает, потому что 28px добавлены inline, что имеет приоритет над любыми стилями в css-файле

User User
10 янв. 2012 г. 20:46:43
0

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

Если вы вошли в админку WordPress в том же браузере, в котором используете кастомную тему, то проблема именно в этом.

Просто выйдите из учетной записи администратора WordPress и снова откройте свою кастомную тему.

24 дек. 2011 г. 11:35:49
1

добавление "margin-top: 0px !important" в начало вашего CSS-файла действительно сработает, но ТОЛЬКО если вы перестроите заголовок, чтобы CSS-файл подключался ПОСЛЕ вызова wp_head.

CSS-атрибут, который находится ниже в коде, будет применён в 100% случаев.

24 июн. 2012 г. 19:16:52
Комментарии

"Самый нижний CSS-атрибут будет применён в 100% случаев." — Не обязательно, всё зависит от специфичности других селекторов. Например, #content div.somediv всегда будет иметь приоритет над div.somediv, независимо от того, где последний определён.

t31os t31os
29 апр. 2013 г. 12:02:12
0

Вы должны посмотреть, какой класс добавляет отступы, с помощью Firebug или аналогичного инструмента.

19 мая 2011 г. 08:34:52
0
-1

Попробуйте это,

html { margin-top:0px; padding-top:0px; }
3 янв. 2017 г. 18:36:48