Выпуск 5. Сообщения и страницы. Иерархия файлов. HTML
Воскресенье, 9 июля 2006 г.
Просмотров: 3415
Подписаться на комментарии по RSS
Рассмотрим особенность WordPress - деление документов на сообщения и страницы. Узнаем каким образом WordPress "собирает" страницы сайта из файлов шаблона. Перейдем к базовым понятиям HTML.
С предыдущими выпусками рассылки можно познакомиться в архиве.
Если у вас возникли проблемы при работе с WordPress, то свой вопрос вы можете задать на форуме: forum.maxsite.org
Сообщения и страницы
WordPress позволяет создавать два вида документов на вашем сайте: фиксированные (постоянные) страницы (/-page-/) и сообщения (/-post-/). Разница между ними в способе публикации: после создания /-сообщения-/, оно автоматически будет помещено на главную страницу сайта, в т.н. новостной ленте. /-Страница-/ же нигде не помещается, вместо этого на нее создается отдельная ссылка.
Постоянные страницы удобно использовать для такой информации, как: "О себе", "Контакты", "О проекте", то есть носящие постоянный характер.
Сообщения же автоматически попадают на главную страницу и публикуются в обратном хронологическом порядке (более новые вверху), то есть в виде "дневника".
Для сообщений (post) вы можете указать любую категорию (рубрику), чего нельзя сделать для страниц. Вместо этого каждая страница (page) может служить "родителем/ребенком" любой другой страницы, что также позволяет создавать любую иерархию.
Небольшое отступление. Поскольку мы уже знаем про деление документов на страницы (page) и сообщения (post), то в дальнейшем, когда я употребляю выражение "страницы сайта", то имеется ввиду все документы сайта, то есть общепринятое значение. Если же мне нужно будет уточнить, что страница это именно page, то я буду дополнительно указывать "страница (page)". Таким образом мы избежим неопределенности.
Для создания страниц (page) и постов (post) в WordPress'е существуют отдельные пункты меню (в админ-панели). Когда вы будете создавать документ, то необходимо сразу определиться будет ли он post или page. Проблема в том, что изменить тип документа после его создания нельзя (разве, что ручным исправлением в самой базе данных).
Кроме всего прочего, страницы (page) могут быть оформлены с помощью дополнительного файла-шаблона (/-Template Name-/). То есть вы можете создать файл-шаблон и указать его в создаваемой странице (page).
Иерархия файлов в шаблоне (теме)
WordPress достаточно либеральная система, которая накладывает лишь небольшие ограничения на файлы шаблона и касаются они прежде всего зарезервированных имен файлов.
То есть, когда WordPress начинает формировать страницу, то первым делом он выполняет файл шаблона "/-home.php-/" и, если такого нет, то выполняется файл "/-index.php-/" (всё в каталоге текущей темы). И так далее. В зависимости от задачи, WordPress использует определенный файл.
Полный список иерархии файлов шаблона публикуется на официальном сайте WordPress'а: codex.wordpress.org
Ниже я привожу последовательность выбора файлов WordPress'ом при отображении различных видов страниц сайта.
/-Основная (главная) страница сайта-/:
**home.php
**index.php
/-Сообщение (post)-/
**single.php
**index.php
/-Постоянная страница (page)-/
**Выбранная в настройках при создании страницы (page)
**page.php
**index.php
/-Отображение категорий (рубрик)-/
**Для каждой категории можно указать свой файл. В этом случае имя файла должно быть: "category-ID.php", где ID - номер категории, например "category-6.php".
**category.php
**archive.php
**index.php
/-"Авторские" страницы-/
**author.php
**archive.php
**index.php
/-Страницы календаря, архива-/
**date.php
**archive.php
**index.php
/-Результаты поиска-/
**search.php
**index.php
/-"Страница не найдена" (404 Not Found Page)-/
**404.php
**index.php
Теперь, глядя на файлы шаблона, вы будете знать какой файл за что отвечает.
Дополнительные файлы
Существуют и другие файлы, имена которых жестко зафиксированны в WordPress. Правда, в отличие от вышеприведенных, эти файлы вызываются отдельно через PHP-функции.
Например, для того, чтобы отобразить блок меню, нужен файл "/-sidebar.php-/", а сам вызов происходит с помощью функции:
- <?php get_sidebar(); ?>
Знатоки PHP знают, что подключить любой другой файл шаблона можно с момощью функций /-include()-/, /-require()-/, /-readfile()-/ и других. Однако, функции WordPress не только подключают файлы, но и дополнительно обрабатывают события (action), на которые могут "реагировать" плагины (см. предыдущий выпуск рассылки).
Файл /-header.php-/ ("шапка страницы") вызывается:
- <?php get_header(); ?>
Файл /-footer.php-/ ("подвал страницы") вызывается:
- <?php get_footer(); ?>
Далее...
Поскольку мы уже начинаем углубляться технические подробности и я не знаю ваш уровень подготовки, то есть смысл зделать небольшой экскурс в HTML и PHP. Сразу скажу, что это будет краткое описание и основные моменты. Основная цель - это научиться понимать синтаксис. Для того, чтобы углубиться в эти языки, вам нужно будет обратиться к справочной литературе или сответствующим ресурсам Интернет.
Основы HTML
HTML - язык разметки документа. Используя специальные конструкции HTML, можно в простой текст добавить различное оформление и отдельные элементы. Браузер, отображая такой документ, обрабатывает HTML-конструкции и преобразует их в соответствующем визуальном виде.
Существуют несколько версий HTML. Их описание займет много времени, поэтому я сразу отсылаю вас к своей статье "Что нам стоит сайт построить?".
Тэги HTML
Основа HTML - использование тэгов. Тэги это конструкция заключенная в угловые скобки /-<тэг>-/. Тэги бывают одиночные и парные. /-Парные-/ имеют открывающий тэг и закрывающий:
- <тэг параметры>содержимое тэга</тэг>
Одиночные, не имеют закрывающего тэга, поэтому имеют другую конструкцию:
- <тэг параметры />
То есть дописывается дополнительный слэш (косая черта) в конце.
Тэги могут содержать различные параметры. В этом случае значение параметра должно быть ограниченно кавычками (обычными или одиночными):
- <font color="red">содержимое тэга</font>
- в данном примере тэг /-font-/ имеет парметр /-color-/, который равен /-red-/
Поведение браузеров
Основная "боль" любого вебмастера - это различная интерпретация HTML-кода разными браузерами. Наиболее капризным и непредсказуемым является /-MS Internet Explorer-/. К сожалению этот браузер использует свою, отличную от рекомендаций консорциума W3C, модель поведения, поэтому то что является простым и очевидным для других браузеров, в IE может выглядеть совершенно непредсказуемым. Особенно много "нюансов" возникает при использовании стилевой разметки (CSS). Здесь IE может демонстрировать свою абсолютную "невменяемость" :(.
Из-за этого вебмастер вынужден создавать HTML-код нормальный и отдельно - для IE. Делается это с помощью т.н. хаков - специальных конструкций, которые используют ошибки браузера, это позволяет сделать определенный участок кода видимым только для него.
Существует следующая рекомендация по отладке HTML-страницы: добейтесь нормального отображения в "стандарном" браузере, например FireFox, а уже после приступайте к отладке для IE.
Замечу, что если вы хотите научиться работать с сайтами, то личные предпочтения браузера здесь неуместны. Сайт должен корректно отображаться как минимум в FireFox'е, Opere и IE 6 - поскольку именно эти браузеры составляют 99% всех "движков" браузеров.
Если вы никогда не пользовались FireFox, то на моем сайте найдете описание некоторых плагинов для этого браузера: "Настройка FireFox"



Комментариев: 1
Здравствуйте.
Подскажите пожалуйста: возможно сделать так чтобы определенные, постоянные (фиксированные) страницы не выводились в шапке (горизонтальном меню)блога, но при этом выводились через виджет в сайдбаре? Если возможно, то как?
Спасибо.