ГлавнаяWordpressСоздание темыУрок #16. Интеграция вёрстки. Header. Создание темы WordPress.

Урок #16. Интеграция вёрстки. Header. Создание темы WordPress.

Категория: Создание темы / Опубликовано: 2017-08-17 / Просмотров: 169

Интеграция вёрстки. Header. Создание темы WordPress.

Файл header.php является основным файлом темы, поскольку именно в нём подключаются стили, скрипты и встроенные функции WordPress.

Для того, чтобы начать интеграцию открываем header.php и следуем инструкциям.

Кодировка

Первым делом находим строку в которой мы указали кодировку для сайта.

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

И заменяем ее на аналогичную строку, которая будет отдавать тот же самый результат. Кодировка будет выводиться автоматически, основываясь на настройках wordPress.

<meta http-equiv="Content-Type" content="<?php bloginfo('html_type'); ?>; charset=<?php bloginfo('charset'); ?>" />

Заголовок страницы

Выделяем тег <title>, который отвечает за формирование заголовка для страницы.

<title>Главная страница</title>

И заменяем на следующую функцию wp_title().

<title><?php wp_title(); ?></title>

Работа с иконками

Выделяем код который отвечает за формирование иконки для сайта.

	<link rel="shortcut icon" href="favicon/favicon.png" type="image/png">
	<link rel="shortcut icon" href="favicon/favicon.ico" type="image/x-icon">
	<link rel="apple-touch-icon" sizes="60x60" href="favicon/favicon_apple_60.png">
	<link rel="apple-touch-icon" sizes="76x76" href="favicon/favicon_apple_76.png">
	<link rel="apple-touch-icon" sizes="120x120" href="favicon/favicon_apple_120.png">
	<link rel="apple-touch-icon" sizes="152x152" href="favicon/favicon_apple_152.png">

В атрибуте href перед /favicon вставляем функцию esc_url(get_template_directory_uri()), которая будет выводить путь до директории сайт.ру/wp-content/themes/FirstTheme, это место хранения файлов темы.

Результатом выполнения будет полный адрес по которому будет доступна иконка сайт.ру/wp-content/themes/FirstTheme/favicon/favicon.png.

	<link rel="shortcut icon" href="<?php echo esc_url(get_template_directory_uri()); ?>/favicon/favicon.png" type="image/png">
	<link rel="shortcut icon" href="<?php echo esc_url(get_template_directory_uri()); ?>/favicon/favicon.ico" type="image/x-icon">
	<link rel="apple-touch-icon" sizes="60x60" href="<?php echo esc_url(get_template_directory_uri()); ?>/favicon/favicon_apple_60.png">
	<link rel="apple-touch-icon" sizes="76x76" href="<?php echo esc_url(get_template_directory_uri()); ?>/favicon/favicon_apple_76.png">
	<link rel="apple-touch-icon" sizes="120x120" href="<?php echo esc_url(get_template_directory_uri()); ?>/favicon/favicon_apple_120.png">
	<link rel="apple-touch-icon" sizes="152x152" href="<?php echo esc_url(get_template_directory_uri()); ?>/favicon/favicon_apple_152.png">

Стили CSS

Находим два тега которые отвечают за подключение стилей css в нашу тему.

	<link rel="stylesheet" href="reset.css">
	<link rel="stylesheet" href="style.css">

В атрибут href вставляем уже знакомую нам функцию esc_url(get_template_directory_uri()).

	<link rel="stylesheet" href="<?php echo esc_url(get_template_directory_uri()); ?>/reset.css">
	<link rel="stylesheet" href="<?php echo esc_url(get_template_directory_uri()); ?>/style.css">

Событие wp_head

Событие wp_head() является важным событием, так как в момент выполнения этого события подключаются файлы стилей, скрипты и разные мета-теги страницы.

Важный момент: событие wp_head() используется не только плагинами, но и самим WordPress, так что пренебрегать подключением этого события не нужно.

Вставляем функцию wp_head() перед закрывающим тегом </head>.

<?php wp_head(); ?>

Название и описание сайта

Перемещаемся в блок div с классом bloginfo и произведём модификацию кода. Ниже предоставлен участок кода, который будет изменён.

		<div class="bloginfo">
			<h1><a href="">Блог Артёма Санникова</a></h1>
			<p>Подробные пошаговые обучающие уроки по сайтостроению и продвижению.</p>
		</div>

Вставляем три простых функции, которые будут выводить нужную нам информацию.

  • bloginfo('url') — выводит ссылку на главную страницу сайта;
  • bloginfo('name') — выводит название сайта, задаётся в настройках WordPress;
  • bloginfo('description') — краткое описание сайта, задаётся в настройках WordPress.
		<div class="bloginfo">
			<h1><a href="<?php bloginfo('url'); ?>"><?php bloginfo('name'); ?></a></h1>
			<p><?php bloginfo('description'); ?></p>
		</div>

Навигация

Выделяем содержимое блока div с классом nav и удаляем. Сам блок nav, не удаляем.

Ниже предоставлен код, который будет изменён.

		<div class="nav">
			<ul>
				<li class="current_page_item"><a href="">Главная</a></li>
				<li><a href="">Об авторе</a></li>
				<li><a href="">Контакты</a></li>
				<li><a href="">Карта сайта</a></li>
			</ul>
		</div>

На место удалённого кода вставляем функцию, которая будет выводить навигационное меню. Суть заключается в том, что мы указываем место для вывода конкретного навигационного меню (навигационное меню формируется в разделе — произвольное меню).

		<div class="nav">
			<?php wp_nav_menu('theme_location=top-navigation'); ?>
		</div>

Открываем файл functions.php и сразу после открывающего тега <?php вставляем код, который произведёт регистрацию произвольного меню для нашей темы.

/**
* Регистрация навигационного меню
**/
register_nav_menus(array(
	'top-navigation'=>'Top navigation menu',//меню в шапке (месторасположение в шаблоне)
));

Интеграция завершена

Окончательный вариант шаблона header.php представлен ниже.

<!DOCTYPE html>
<html>
<head>
	<!-- Charset -->
	<meta http-equiv="Content-Type" content="<?php bloginfo('html_type'); ?>; charset=<?php bloginfo('charset'); ?>" />
	<!-- Page info -->
	<title><?php wp_title(); ?></title>
	<meta name="language" content="ru">
	<!-- Favicon -->
	<link rel="shortcut icon" href="<?php echo esc_url(get_template_directory_uri()); ?>/favicon/favicon.png" type="image/png">
	<link rel="shortcut icon" href="<?php echo esc_url(get_template_directory_uri()); ?>/favicon/favicon.ico" type="image/x-icon">
	<link rel="apple-touch-icon" sizes="60x60" href="<?php echo esc_url(get_template_directory_uri()); ?>/favicon/favicon_apple_60.png">
	<link rel="apple-touch-icon" sizes="76x76" href="<?php echo esc_url(get_template_directory_uri()); ?>/favicon/favicon_apple_76.png">
	<link rel="apple-touch-icon" sizes="120x120" href="<?php echo esc_url(get_template_directory_uri()); ?>/favicon/favicon_apple_120.png">
	<link rel="apple-touch-icon" sizes="152x152" href="<?php echo esc_url(get_template_directory_uri()); ?>/favicon/favicon_apple_152.png">
	<!-- Style CSS-->
	<link rel="stylesheet" href="<?php echo esc_url(get_template_directory_uri()); ?>/reset.css">
	<link rel="stylesheet" href="<?php echo esc_url(get_template_directory_uri()); ?>/style.css">
	<!-- JQuery Library -->
	<script type="text/javascript" src="http://code.jquery.com/jquery.min.js"></script>
	<?php wp_head(); ?>
</head>
<body>

<!-- Обёртка -->
<div id="wrapper">

	<!-- Шапка -->
	<div class="header">
		<!-- Название блога и описание -->
		<div class="bloginfo">
			<h1><a href="<?php bloginfo('url'); ?>"><?php bloginfo('name'); ?></a></h1>
			<p><?php bloginfo('description'); ?></p>
		</div>
		<!-- Навигация -->
		<div class="nav">
			<?php wp_nav_menu('theme_location=top-navigation'); ?>
		</div>
	</div>

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

С уважением, Артём Санников

Сайт: ArtemSannikov.ru

Похожие записи по теме

Добавить комментарий

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