Шапка и подвал сайта
Шапка и подвал сайта зачастую имеют одинаковое содержание на всех страницах. Поэтому если вынести их содержание в отдельный подключаемый файл, то размер кода в других файлах шаблона заметно сократится. Давайте проделаем это. Для начала взглянем на пример исполняемого файла шаблона index.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>
<div class="content">
<!-- главный цикл WordPress -->
</div>
<footer class="footer">
Автор сайта - MouseDC.ru
</footer>
<?php wp_footer(); ?>
</body>
</html>
В шаблоне есть шапка и подвал (header и footer), который не меняются от страницы к странице. Грубо говоря, это участки кода до и после главного цикла WordPress. Давайте создадим файлы header.php и footer.php в корневой папке темы "/wp-content/themes/название_темы"
. Затем поместим в эти файлы следующее содержание.
Содержание 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">
Автор сайта - MouseDC.ru
</footer>
<?php wp_footer(); ?>
</body>
</html>
Теперь необходимо обрезать эти части из файла index.php, а на их место поставить функции для подключения созданных файлов get_header() и get_footer(). Тогда файл index.php будет выглядеть так:
<?php get_header(); ?>
<div class="content">
<!-- главный цикл WordPress -->
</div>
<?php get_footer(); ?>
Функции get_header() и get_footer() могут принимать до двух параметров: get_header('название_файла', array(...) )
(параметры у двух функций аналогичные). Первый параметр отвечает за название подключаемого файла. Если параметр не указан (либо равен пустой строке или false), то будет использоваться файл header.php. Иначе будет использован файл header-название_файла.php.
Второй параметр - это массив передаваемых аргументов. Они будут доступны в подключаемом файле в переменной $args.
Комментарии и форма поиска
Как видно из предыдущего примера, если вынести участки повторяющегося кода в отдельные файлы, то разрабатывать проект становится легче. Поэтому давайте не будем останавливаться и продолжив выносить в файлы ещё и комментарии к записям и форму поиска.Аналогично функциям для подключения футера и хидера, комментарии подключаются функцией comments_template(). Подключаемый файл - comments.php. Если подключаемого файла не существует, то будет подключен стандартный шаблон для вывода комментариев, который находится по адресу
/wp-includes/theme-compat/comments.php
.Функции можно передать два параметра: comments_template('название_файла', $separate_comments). Первый параметр - это стрка с названием подключаемого файла. По умолчанию его значение равно comments.php. Второй параметр - это логическое значение true или false. По умолчанию оно равно false, что заставляет не разделять комментарии по типу (комменты, пинги, трэкбэки).
Точто такая же логика подключения фалов действует и для формы поиска по записям. За неё отвечает файл searchform.php, который подключается функцией get_search_form(). Простейшее содержимое подключаемого файла поиска выглядит так:
<form role="search" method="get" id="searchform" action="<?php echo home_url('/') ?>" >
<input type="text" value="<?php echo get_search_query() ?>" name="s"/>
<input type="submit" id="searchsubmit" value="найти" />
</form>