Есть ли разница и как правильно размещать данные в header?

Ссылка скопирована
1 ответ

учусь делать шаблон на Word press, до этого никогда подобное не делал и вот несколько дней не могу понять некоторые вещи, одна из них: действительно ли можно размещать всю шапку сайта(иконка, название и тд и тп) в header в разделе body?
Я после уроков привык, что все что к шапке, размещается в head, но тут как-то иначе или я путаю что-то?
Вот пример, максимально маленький, но просто понять чтоб
В index.php есть
<?php get_header(); ?>
Также есть сам header.php и в нем вся стандартная информация, но правильно ли будет размещать в body потом ту же иконку и тд у headerа или же тут нет разницы?

!DOCTYPE html&gt; &lt;html &lt;?php language_attributes(); ?&gt;&gt; &lt;head&gt;     &lt;meta charset="&lt;?php bloginfo( 'charset' ); ?&gt;"&gt;     &lt;meta name="viewport" content="width=device-width, initial-scale=1.0"&gt;     &lt;title&gt;&lt;?php bloginfo( 'name' ); ?&gt; - &lt;?php bloginfo( 'description' ); ?&gt;&lt;/title&gt;     &lt;?php wp_head(); ?&gt; &lt;/head&gt; &lt;body &lt;?php body_class(); ?&gt;&gt;     &lt;header&gt;     &lt;div class="header-up-div"&gt;                &lt;!-- Здесь размещаются элементы шапки --&gt;         &lt;/div&gt;     &lt;/header&gt;

!DOCTYPE html&gt; &lt;html &lt;?php language_attributes(); ?&gt;&gt; &lt;head&gt; &lt;meta charset="&lt;?php bloginfo( 'charset' ); ?&gt;"&gt; &lt;meta name="viewport" content="width=device-width, initial-scale=1.0"&gt; &lt;title&gt;&lt;?php bloginfo( 'name' ); ?&gt; - &lt;?php bloginfo( 'description' ); ?&gt;&lt;/title&gt; &lt;?php wp_head(); ?&gt; &lt;/head&gt; &lt;body &lt;?php body_class(); ?&gt;&gt; &lt;header&gt; &lt;div class="header-up-div"&gt; &lt;!-- Здесь размещаются элементы шапки --&gt; &lt;/div&gt; &lt;/header&gt;

Дополнительно:

Для новичков

Есть ли разница и как правильно размещать данные в header?

что все что к шапке, размещается в head, но тут как-то иначе или я путаю что-то?

Видимо, что-то путаете. Шапкой обычно называют верхнюю часть body, и обычно это элемент header. Body - видимая часть страницы. А head - невидимая. И там, в head, должны располагаться title, meta, ссылки на стили и скрипты. Хотя стили отлично работают и внутри body, а скрипты сейчас вообще рекомендуют располагать в body поближе к концу.

  • благодарю, вроде базовые вещи, но так много вариантов насмотрелся и очень сложно было определить верный.
    Получается в index.php у меня условно 3 вещи будет, хедер, контент + подвал.Я каждую часть буду загружать через php и если я header гружу, то там вся инфа и тд в head,а в body уже внешка для шапки, а для content и подвала также система работает? Получится 3 body в итоге на inedx.php, если у меня 3 объекта подгружается (шапка, подвал и сам контент), я правильно понимаю?
  • Если шапка (header) и подвал (footer) для всех страниц одинаковые, то логично их вынести в header.php и footer.php соответственно. Если же оформление всех страниц одинаковое, то нет смысла дробить шаблон, а head, header и footer можно прямо в index.php прописать. Короче, все зависит от дизайнерской мысли.

    И главное - не переборщить с дроблением на шаблоны и подшаблоны (partial templates). Мне попадалась Тема, в которой на простой странице подгружалось порядка 20 шаблонов.

Нужно решить такую задачу?

Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

Заказать помощь
Лучший ответ
1
Павел Админов Ответ

Вы путаете два разных понятия: HTML-тег <head> и визуальную шапку сайта <header>. В <head> размещаются технические данные страницы: charset, viewport, title, meta, стили, скрипты, wp_head(). Пользователь не видит этот блок как часть страницы.

Визуальная шапка сайта — логотип, меню, телефон, кнопки, иконки — должна находиться внутри <body>, обычно в теге <header>. Это нормально и правильно.

Типичная структура header.php в теме WordPress:

&lt;!doctype html&gt;
&lt;html &lt;?php language_attributes(); ?&gt;&gt;
&lt;head&gt;
    &lt;meta charset="&lt;?php bloginfo('charset'); ?&gt;"&gt;
    &lt;meta name="viewport" content="width=device-width, initial-scale=1"&gt;
    &lt;?php wp_head(); ?&gt;
&lt;/head&gt;
&lt;body &lt;?php body_class(); ?&gt;&gt;
&lt;?php wp_body_open(); ?&gt;
 
&lt;header class="site-header"&gt;
    &lt;div class="site-logo"&gt;&lt;?php bloginfo('name'); ?&gt;&lt;/div&gt;
    &lt;nav&gt;&lt;?php wp_nav_menu(['theme_location' =&gt; 'primary']); ?&gt;&lt;/nav&gt;
&lt;/header&gt;

&lt;!doctype html&gt; &lt;html &lt;?php language_attributes(); ?&gt;&gt; &lt;head&gt; &lt;meta charset="&lt;?php bloginfo('charset'); ?&gt;"&gt; &lt;meta name="viewport" content="width=device-width, initial-scale=1"&gt; &lt;?php wp_head(); ?&gt; &lt;/head&gt; &lt;body &lt;?php body_class(); ?&gt;&gt; &lt;?php wp_body_open(); ?&gt; &lt;header class="site-header"&gt; &lt;div class="site-logo"&gt;&lt;?php bloginfo('name'); ?&gt;&lt;/div&gt; &lt;nav&gt;&lt;?php wp_nav_menu(['theme_location' =&gt; 'primary']); ?&gt;&lt;/nav&gt; &lt;/header&gt;

get_header() просто подключает файл header.php. Поэтому в нём обычно находятся и начало документа, и видимая шапка. Это не ошибка.

Важно не забывать wp_head() перед закрытием </head> и wp_footer() перед закрытием </body>. Без них не будут нормально работать плагины, стили, скрипты и админ-бар.

То есть правило простое: всё, что описывает документ и подключает ресурсы, идёт в <head>; всё, что пользователь видит на странице, идёт в <body>. Тег <header> внутри body — это семантический контейнер для видимой шапки, и он может содержать логотип, меню, контакты, кнопку заявки и другие элементы интерфейса.

Другие ответы (0)

Пока нет других ответов. Будьте первым, кто поможет автору.

Ответить на вопрос

комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Вам также может быть интересно