Есть ли разница и как правильно размещать данные в header?
учусь делать шаблон на Word press, до этого никогда подобное не делал и вот несколько дней не могу понять некоторые вещи, одна из них: действительно ли можно размещать всю шапку сайта(иконка, название и тд и тп) в header в разделе body?
Я после уроков привык, что все что к шапке, размещается в head, но тут как-то иначе или я путаю что-то?
Вот пример, максимально маленький, но просто понять чтоб
В index.php есть
<?php get_header(); ?>
Также есть сам header.php и в нем вся стандартная информация, но правильно ли будет размещать в body потом ту же иконку и тд у headerа или же тут нет разницы?
!DOCTYPE html> <html <?php language_attributes(); ?>> <head> <meta charset="<?php bloginfo( 'charset' ); ?>"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title><?php bloginfo( 'name' ); ?> - <?php bloginfo( 'description' ); ?></title> <?php wp_head(); ?> </head> <body <?php body_class(); ?>> <header> <div class="header-up-div"> <!-- Здесь размещаются элементы шапки --> </div> </header> |
!DOCTYPE html> <html <?php language_attributes(); ?>> <head> <meta charset="<?php bloginfo( 'charset' ); ?>"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title><?php bloginfo( 'name' ); ?> - <?php bloginfo( 'description' ); ?></title> <?php wp_head(); ?> </head> <body <?php body_class(); ?>> <header> <div class="header-up-div"> <!-- Здесь размещаются элементы шапки --> </div> </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 шаблонов.
Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.
Пока нет других ответов. Будьте первым, кто поможет автору.
Ответить на вопрос

Вы путаете два разных понятия: HTML-тег
<head>и визуальную шапку сайта<header>. В<head>размещаются технические данные страницы: charset, viewport, title, meta, стили, скрипты,wp_head(). Пользователь не видит этот блок как часть страницы.Визуальная шапка сайта — логотип, меню, телефон, кнопки, иконки — должна находиться внутри
<body>, обычно в теге<header>. Это нормально и правильно.Типичная структура
header.phpв теме WordPress:<!doctype html> <html <?php language_attributes(); ?>> <head> <meta charset="<?php bloginfo('charset'); ?>"> <meta name="viewport" content="width=device-width, initial-scale=1"> <?php wp_head(); ?> </head> <body <?php body_class(); ?>> <?php wp_body_open(); ?> <header class="site-header"> <div class="site-logo"><?php bloginfo('name'); ?></div> <nav><?php wp_nav_menu(['theme_location' => 'primary']); ?></nav> </header>
get_header()просто подключает файлheader.php. Поэтому в нём обычно находятся и начало документа, и видимая шапка. Это не ошибка.Важно не забывать
wp_head()перед закрытием</head>иwp_footer()перед закрытием</body>. Без них не будут нормально работать плагины, стили, скрипты и админ-бар.То есть правило простое: всё, что описывает документ и подключает ресурсы, идёт в
<head>; всё, что пользователь видит на странице, идёт в<body>. Тег<header>внутри body — это семантический контейнер для видимой шапки, и он может содержать логотип, меню, контакты, кнопку заявки и другие элементы интерфейса.