softsprint menu Заказать

Cоздание index.php для темы WordPress — часть 2

Сентябрь 22, 2014 в 3:38 | wiki

В первой статье мы узнали, что минимальная тема на WordPress может состоять лишь с двух файлов: index.php, style.css. По факту структура практически любого сайта состоит из:

wordpress structure

wordpress treeНа рисунке приведён пример наиболее типовой структуры сайта/блога, но в Вашей теме, например, может быть 2 боковых панели (sidebar) и ни одного подвала (footer) – платформа WordPress не имеет требований к какой-либо обязательной структуре сайта.

Файл index.php – как ствол в дереве, на котором держаться ветки в виде файлов: header.php, sidebar.php, footer.php и прочих (если такие предусмотрены в теме).
Рассмотрим пример структуры сайта нашей темы Lightweight на основе файла index.php:

1
2
3
4
<?php get_header(); ?> 
<?php get_template_part('loop'); ?>
<?php get_sidebar(); ?> 	
<?php get_footer(); ?>

Первая строка содержит функцию get_header(), которая подключает файл шаблона шапки сайта (header.php). По умолчанию внутри скобок функции get_header() ничего не указывается (автоматически WordPress подключит файл header.php), но если записать функцию, например, в таком виде:

1
<?php get_header(top) ; ?>

, то будет загружен файл header-top.php

Т.е., параметр в скобках является частью названия файла шапки сайта и дописывается через тире.
Это удобно применять, когда нужно загружать разные шапки сайта, в зависимости от того, на какой странице находится посетитель. Пример:

1
2
3
4
5
6
7
8
9
<?php
if ( is_home() ) :
  get_header('home');
elseif ( is_page('korzina') ) :
  get_header('korzina');
else :
  get_header();
endif;
?>

Эту конструкцию следует вставить в файл index.php вместо первой строки
В таком случае WordPress сделает следующее:

Вообще, есть очень много возможных вариантов для определения, где находится юзер, например:

Вернёмся к нашему index.php: предпоследняя и последняя строки файла index.php отвечают за подключение файлов боковой панели (sidebar) и нижней части сайта (footer).
Логика подключения боковой панели и нижней части сайта аналогичная подключению шапки сайта:

Повторимся: WordPress НЕ ИМЕЕТ каких-либо требований к структуре сайта, поэтому Вы можете запросто поставить, например, две боковых панели сразу после шапки сайта. Файл index.php будет начинаться тогда так:

1
2
3
4
5
<?php get_header(); ?> 
<?php get_sidebar('left'); ?>
<?php get_sidebar('right'); ?>
<?php get_template_part('loop'); ?>
<?php get_footer(); ?>

где: вторая и третья строчки подключат левый и правый сайдбар, соответственно: sidebar-left.php и sidebar-right.php.

Естественно, все эти файлы, которые перечислены выше, например, header-korzina.php, sidebar-left.php и другие, ДОЛЖНЫ присутствовать в папке Вашей темы!

И вот мы подошли к рассмотрению последней функции в файле index.php:

1
<?php get_template_part('loop'); ?>

По своей задаче она очень похожа, например, на get_footer() — подключает нужную нам часть темы, выведенную в отдельный файл (в данному случае – loop.php).

Функцию

1
get_template_part()

часто применяют, чтобы подключить хлебные крошки или форму поиска к сайту, навигацию или вывод постов, которые вынесены в отдельный файл. Т.е., данная функция позволяет подключить любой файл php к нашей теме.
В следующих статьях мы рассмотрим содержимое файлов header.php, sidebar.php, loop.php и footer.php, которые мы вызываем в файле index.php нашей темы Lightweight.

Напоминаем — Вы всегда можете заказать у нас сайт на WordPress выгодной стоимости — читать подробнее

Давайте обсудим

softsprint heart

Наши контакты

Львов, Украина
mob: +380 97 551 44 55
skype: softsprint.net

Скажите Привет!