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

8

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

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

tanktery
источник
1
что-то, что подключается к wp_head, выводит пространство перед выводом любого html?
Майло

Ответы:

10

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

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

Если вы посмотрите, на самом деле он должен быть добавлен к краю html.

Райан Гиббонс
источник
согласился, видел эту проблему несколько раз
MartinJJ
1
Да, я выручил несколько человек и видел это. Я думаю, что самая большая проблема - люди, не включающие wp_footer () в шаблон
Райан Гиббонс
Для ОП - я думаю, что вы должны принять этот ответ.
Greeso
2

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

Ян Фабри
источник
1

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

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

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

Львов
источник
1

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

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

Поместите вверху CSS-файл вашей темы.

rhoi
источник
2
этот ответ не работает, потому что 28px добавляется в строку, которая имеет приоритет над чем-либо в файле CSS
1

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

самый низкий атрибут CSS будет применен, 100% времени.

Даниил
источник
«Будет применяться самый низкий атрибут CSS в 100% случаев». - Не обязательно, зависит от специфики других селекторов, которые присутствуют .. например. #content div.somedivвсегда будет иметь приоритет над div.somedivнезависимо от того, где последний определен.
t31os
1

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

remove_action('wp_head', '_admin_bar_bump_cb');

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

Таким образом, вам не нужно глупое переопределение в вашем CSS =)

Энтони Браун
источник
0

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

MZAweb
источник
-1

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

html { margin-top:0px; padding-top:0px; }
Pro Wordpress Development
источник