Web - Club  Веб-программирование, оптимизация, интернет

 

 

 

Навигация
Инфо-блок

Внимание! На форум требуются модераторы.

forum

Темы: продвижение сайтов в ПС, интернет-программирование, дизайн, сети и интернет-технологии.

Разделы форума:

О форуме...
Яндекс
Google
Rambler и другие
Каталоги, рейтинги
Ссылки: покупка, продажа
Контекст реклама, баннерные сети
Серверное программирование
Уголок дизайнера
Стол заказов, анонс проектов
Системы управления сайтом
Системы управления сайтом free
Общий раздел
Домены
Хостинг


Приглашаем Вас на наш форум!

 

 

 

Создание шаблонов для WordPress

Для начала хочу предупредить читателя о том, что для полного осваивания данного материала, нужно знать хотя бы азы PHP, представлять хотя бы в общих чертах работу сервера хостера. Проще говоря, Вы должны уже иметь некоторые базовые знания.

Что такое WordPress?

WordPress - это система управления сайтом(CMS) с открытым исходным кодом и лицензией GNU GPL. Система выполнена в виде программы, загружаемой на сервер и позволяющей полностью управлять содержимым сайта. Работает все это в виде связки PHP+MySQL. Область применения WordPress в основном новостные порталы, цитатники, блоги, и т.п.. На данный момент система имеет огромное множество плугинов и настолько гибкая, что позволяет создавать Web-ресурсы высокой сложности.

Зачем нужны шаблоны?

Главное преимущество CMS, это быстрота и удобство. Достаточно один раз потратить время и правильно настроить. WordPress имеет ряд преимуществ по работе с шаблонами. Главное из которых, это динамическая сборка страницы. Т.е. шаблон ни в коем случае не встроен в код системы, а с точностью до наоборот. Создается некий каркас на html, к которому подключается весь необходимый код. Тем самым создание шаблона в WordPress занимает минимум времени.

Вернемся к нашему вопросу. Зачем же нужен свой шаблон? Во-первых, каждый сайт в сети должен иметь уникальный контент, только тогда он будет обречен на успех. Это касается собственно и самого веб-дизайна. У WordPress есть свой набор шаблонов. Однако некоторые из них могут не отвечать скажем, например, тематике Вашего сайта. Да, да! Именно тематике. Ваш шаблон связан напрямую с тематикой. Например, для сайта, посвященного какой-нибудь компьютерной игре будет целесообразно разместить картинку из игры, цветовую гамму, и т.д.. Напомню, что для посетителя в первую очередь будет приятно читать текст, внутри хорошего, качественного дизайна. Хорошее оформление - это 50% успеха.

Структура шаблона. Файлы с подключаемым кодом.

Будет удобно, если с самого начала условно разобьем файлы, используемые шаблоном:

  • Основные или главные
  • Дополнительные, универсальные
  • К последнему типу отнесем архивные, поисковые....

1)Основные

index.php - главный файл, к которому все подключается;
style.css - стиль шаблона;  
header.php - самая верхняя часть шаблона;
footer.php - самая нижняя часть шаблона;
sidebar.php - боковая панель;
single.php - отдельные сообщения; 
comments.php - шаблон комментариев.

2)Дополнительные

navigation.php - движок навигации;
theloop.php – движок самого шаблона.

3)Файлы архива, форма поиска и стат. страницы

searchform.php - форма поиска; 
search.php - результаты поиска;
page.php - шаблон стат. страницы;
archive.php - просмотр постраничных архивов, навигация типа [стр. 1 2 3] .
        

Создаем шаблон своими руками.

style.css - сюда помещаем то, что обычно в стандартную страницу HTML добавляем между тегами <style> </style>.

theloop.php - движок шаблона. Вот примерно как выглядит файл(описание в комментах):

<?php if (have_posts()) : ?>
<?php /* Подключение навигации между страницами (не показывается на главной и в отдельных постах)
*/
if ( (is_archive()) or (is_search()) or (is_paged()) or (is_category()) ) {
/* Подключаем файл */
include (TEMPLATEPATH . '/navigation.php'); }
?>
<?php /* Включаем сам LOOP */
while (have_posts()) : the_post();
?>
<?php /* Подключение навигации между постами (должно быть внутри LOOP'а) */
if (is_single()) { include (TEMPLATEPATH . '/navigation.php'); }
?>
<?php /* сам пост, включает постоянную ссылку, метаданные, счетчик комментариев и текст */ ?>
<div class="entry">
<h1><a href="<?php the_permalink() ?>" rel="bookmark" title="Постоянная ссылка для <?php
the_title(); ?>"><?php the_title(); ?></a></h1>
<p class="postmetadata">Опубликовано <?php the_time('F jS, Y') ?>. <?php comments_popup_link('Без
комментов', '1 Коммент', '% Комментов'); ?> <?php edit_post_link('Редактировать', '<strong>',
'</strong>'); ?></p>
<?php
/*
Самый интересный момент. Здесь при постраничном просмотре архивов или поиске
включается функция the_excerpt (краткая выдержка из поста).
Но на главной и в отдельном посте, как и полагается полный текст поста с ссылками, картинками
и т.д.
*/
?>
<?php if ( (is_archive()) or (is_search()) ) { ?>
<?php the_excerpt(); ?>
<?php } else { ?>
<?php the_content("Читать дальше..."); ?>
<?php } ?>
< ?php link_pages('<p><strong>Страницы:</strong> ', '', 'number'); ?>
</div>
<!--
<?php trackback_rdf(); ?>
-->
<?php endwhile; ?>
<?php /* Подключение навигации между страницами (показывается везде и на главной тоже) */
if ( (is_home() or is_archive()) or (is_search()) or (is_paged()) or (is_category()) ) {
include (TEMPLATEPATH . '/navigation.php'); }
?>
<?php /* в случае ошибки 404 */
else :
?>
<div class="entry">
<h1>Error</h1>
<p>Произошла ошибка. Проверьте правильность запроса.</p>
</div>
<p align="center"><?php include (TEMPLATEPATH . "/searchform.php"); ?></p>
<?php endif; ?>

Этот файл надо обязательно подключить к Вашему шаблону. Сделать можно это при помощи PHP-выражения:

<?php include (TEMPLATEPATH . '/theloop.php'); ?>

Также необходимо подключить верхнюю, нижнюю часть и боковую панель шаблона. Вот так:

<?php get_header(); ?> -подключение header.php
<?php get_footer(); ?> - подключение footer.php
<?php get_sidebar(); ?> - подключение sidebar.php

Как я вам уже говорил, все вышеописанные подключения, производятся в главном файле(index.php).
Чтобы шаблон отображался также в результатах выдачи поиска, архивах, страницах 404-ошибки и статической,
необходимо добавиться также в файлы archive.php, 404.php, search.php, page.php, single.php. Кроме того, для каждого из
этих файлов, Вы можете добавить что-то индивидуальное, свой текст или код счетчиков, например. Хотя это лучше
делать в подключаемых файлах header, footer и sidebar.

Перейдем к универсальным файлам. navigation.php - навигация, грубо говоря часть самого движка. Вот листинг навигации:

<?php
/* навигационные ссылки в посте, показываются ссылки на следующий и предыдущий пост от того, в
котором находимся в данный момент */
if (is_single()) { ?>
<div class="navigation">
<div class="alignleft"><?php previous_post('&laquo; %','','yes') ?></div>
<div class="alignright"><?php next_post(' % &raquo;','','yes') ?></div>
<div class="clear"></div>
</div>
<?php } else {
/* или же показывать ссылки навигации между страницами, будь-то в архивах или просмотр отдельных
категорий */
?>
<div class="navigation">
<div class="alignleft"><?php posts_nav_link('','','&laquo; Назад') ?></div>
<div class="alignright"><?php posts_nav_link('','Вперёд &raquo;','') ?></div>
<div class="clear"></div>
</div>
<?php } ?>

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

Поисковая форма подключается по желанию(рекомендую).

<?php include (TEMPLATEPATH . '/searchform.php'); ?>

Ещё кое-что. Подключить комменты к single.php. Добавляемся где-то после движка, строчку типа:

<?php comments_template(); ?>

Напоследок.

Как видите, ничего сложного. Шаблон в WordPress собирается как конструктор. Тем самым обозначается его качество, такое как компактность. Хотелось бы отдать должное разработчикам. По истине отличная CMS. Четкое разделение дизайна, контента и рабочего кода делает систему очень простой и доступной для большого круга пользователей. Если графичиские примитивы уже Вами подготовлены, привязка шаблона займет не более 15 минут! Теперь, я думаю, можно забыть о проблемах, связанных с внедрением в код уникального оформления. Практичность.

Удачного шаблоностроения!

Автор: Текучев Р.Ю.

 

 

 
(C) WEB - клуб. Все о интернет. Все права принадлежат их авторам. При перепечатке материала ссылка на Web - клуб обязательна.

 

Rambler's Top100  

Финляндия Для дома ламинат 33 класса на заказ. сплит системы, установка сплит-системы