Создание шаблона страниц на WordPress
Ранее я уже писал как сделать вывод произвольного списка страниц на wordpress, теперь рассмотрим как создать отдельный шаблон для каждой страницы. Сначала рассмотрим как создаются шаблоны страниц, а в конце статьи приведу пример, как можно грамотно использовать шаблоны страниц и увеличить кол-во страниц 3-го уровня, что, в свою очередь, немаловажно для торгующих ссылками на бирже
За показ отдельных страниц в wordpress отвечает файл page.php, находящийся в папке с темой, чтобы добавить страницу произвольного содержания необходимо создать новый файл, например, new-page.php и добавить в начало страницы код:
<?php
/*
Template Name: название_шаблона
*/
?>
Сохраняем и получаем новый шаблон, теперь его требуется "облагородить" (т.к. сейчас мы увидим белый экран), для этого вставляем в файл new-page.php функции:
<?php get_header(); ?> //шапка сайта
<?php get_sidebar(); ?> //сайдбар
<?php get_footer(); ?> //футер
Если все правильно обмотать дивами (рекомендую копировать весь код с шаблона по умолчанию, т.е. с page.php, а из него уже удалить все лишнее), мы получим новый шаблон страницы идентичный дизайну основного сайта, теперь на саму страницу можно добавить функции, ради которых и делался данный шаблон (форма обратной связи, карта сайта и т.д.).
Новый шаблон загружаем в папку с используемой темой, там же, где и файл page.php, переходим в админку и создаем новую страницу ("Добавить новую"), в сайдбаре справа выбираем созданную тему: Атрибуты» Шаблон» в выпадающем списке выбираем тему с названием, которое дали в самом начале.
Как и обещал - пример применения отдельных шаблонов страниц, для увеличения кол-ва страниц третьего уровня вложенности. Ранее, когда я только начинал осваивать wordpress при разработке одного из сайтов мне захотелось сделать отдельную страницу с облаком меток (а ля хабра), многие спрашивают зачем она вообще нужна, ведь мало кто полезет на страницу с сотней меток искать интересущую их информацию... так то оно так, но вот улучшить внутреннюю перелинковку и увеличить кол-во страниц 3-го уровня для
В общем, хватит оффтопа, пример:
<?php
/*
Template Name: tag-page
*/
?>
<?php get_header(); ?>
<div id="page">
<div id="content">
<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
<div class="post">
<h1 class="title"><?php the_title(); ?></h1>
<div class="entry">
<?php wp_tag_cloud('number=1000'); ?>
</div>
</div>
</div>
<?php endwhile; endif; ?>
</div>
<div style="clear: both; height: 30px"> </div>
<?php get_footer(); ?>
Получаем отдельную страницу с облаком меток, функция: <?php wp_tag_cloud('number=1000'); ?>
выведет 1 000 меток на странице, вы можете указать любое значение; <?php the_title(); ?>
- выведет заголовок страницы, например, "Метки". Сайдбар в шаблон добавлять не стал. Текущая процедура увеличит кол-во страниц третьего уровня.
Аналогично можно увеличить кол-во страниц 2-го уровня, если код выводящий виджет "Метки" заменить на <?php wp_tag_cloud('number=100'); ?>
, по умолчанию он имеет вид: <?php wp_tag_cloud(); ?>
, т.е. без переменной и выводит примерно 30 меток. В свою очередь это увеличит кол-во страниц третьего уровня:)
Топик получился не совсем "гибкий", но думаю суть ясна, что не понятно, спрашивайте в комментариях. В ближайшее время напишу как это все быстро реализовывать с помощью Aptana Studio.
Виталий
15 июля 2009 в 02:58 #Большое спасибо!
Радик
15 сентября 2009 в 10:42 #Хорошая статья!!!
Vladimir
26 декабря 2009 в 11:45 #Где находятся сами страницы на сервере. В какой папке?
Andrey
16 февраля 2010 в 01:34 #Спасибо огромное как раз то что искал. А то много близкого по теме, а того что надо не находил. Самое главное что почерпнул (как же оказалось просто)
без этого шаблон не отображался в админке, а я себе мозг выносил почему :)
onjee
7 мая 2010 в 11:12 #Блин не могу понять почему шаблон не отображается в админке
makegood
7 мая 2010 в 11:19 #onjee, сталкивался с такой проблемой несколько раз, помогало переключение на другую тему, а потом обратно, возможно, это как-то связано с внутренним кэшем
Максим
22 января 2011 в 10:50 #Большое спасибо все прекрасно получилось, отличная статья!!!
Tooki
16 мая 2011 в 14:59 #Спасибо большое ;) Сейчас необходимо поднять сайт на WP, есть готовая страница, не мог прикуртить никак. Не знал что комменты имею значение в WP. Еще раз спасибо
west
28 января 2014 в 18:19 #Столкнулась с ошибкой как у onjee.
Решается добавлением в начало шаблона: