В предыдущем уроке мы сделали файл category.php и файл index.php. Вернитесь к этим файлам и посмотрите на их код: как мы видим, отличия между нашими шаблонами проявляются только в контенте сайта (то есть в центральной части), а вот верхняя и нижняя части шаблонов полностью одинаковые.
Представим себе следующую ситуацию: нам нужно внести какие-то правки в футере сайта. В этом случае нам придется сделать это в двух местах: в файле category.php и в файле index.php, что не очень удобно. А ведь файлов с шаблонами может быть больше, чем два. В этом случае количество правок возрастет.
Гораздо удобнее было бы вынести вынесем верхнюю и нижнюю части нашего шаблона в отдельные файлы. Такая возможность предусмотрена в WordPress.
Давайте верхнюю часть шаблона вынесем в файл header.php. Пусть это будет вот эта часть кода (выбираем произвольно, как нам удобнее):
<!DOCTYPE html>
<html>
<head>
<meta charset="<?php bloginfo( 'charset' ); ?>">
<title><?php echo wp_get_document_title(); ?></title>
<link rel="stylesheet" href="<?php echo get_stylesheet_uri(); ?>" type="text/css" />
<?php wp_head(); ?>
</head>
<body>
<header class="header">
<h1><?php bloginfo( 'name' ); ?></h1>
<h2><?php bloginfo( 'description' ); ?></h2>
</header>
Нижнюю часть шаблона вынесем в файл footer.php. Пусть это будет вот эта часть кода:
<footer class="footer">
<?php echo date('Y') ?> © Я и компания моя
</footer>
<?php wp_footer(); ?>
</body>
</html>
Теперь в основном шаблоне мы можем подключить вынесенные части: файл header.php подключается через функцию get_header, а файл footer.php подключается через функцию get_footer:
<?php get_header(); ?>
<div class="middle">
<?php
// тут код центральной части макета
?>
</div>
<?php get_footer(); ?>
Давайте посмотрим на новый код файлов index.php и single.php.
Файл single.php:
<?php get_header(); ?>
<div class="middle">
<?php
if (have_posts()) {
while (have_posts()) {
the_post();
echo '<h1>'. get_the_title() .'</h3>';
echo get_the_content();
}
} else {
echo '<p>Такой записи не существует...</p>';
}
?>
</div>
<?php get_footer(); ?>
Файл index.php:
<?php get_header(); ?>
<div class="middle">
<?php
if (have_posts()) {
while (have_posts()) {
echo '<h3><a href="'. get_permalink() .'">'. get_the_title() .'</a></h3>';
echo get_the_excerpt();
}
} else {
echo '<p>Записей нет...</p>';
}
?>
</div>
<?php get_footer(); ?>
Отделите хедер и футер вашего сайта в отдельные файлы. Внесите правки во все файлы ваших шаблонов.
Выведите в футере сайта ваше ФИО. Убедитесь, что изменения одновременно произойдут для всех типов страниц.