Мой сайт о WordPress и PHP
 
13 октября 2006

Выпуск 16. Сервис блогов. Единый файл шаблона

Читали 3760 раз
Рубрика: E-mail рассылка
Навигация: Главная » WordPress » E-mail рассылка

Сервис блогов wBloger.com

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

Полный анонс доступен на сайте сервиса, там же вы найдете описания работы, бесплатные адреса и т.д.

Карта сайта от Google.com

После предыдущего выпуска рассылки, пришло много комментариев, в одном из них была ссылка на генератор сайта для Google Sitemaps. Суть Google Sitemaps в том, что вы отдаете гуглу карту сайта, он её сканирует и анализирует, что по-идее должно позитивно сказаться на поиске.

Для генерации такого файла и предназначен плагин Google Sitemap Generator. Суть его очень проста: скачали, активировали, зашли в настройки и нажали кнопку для создания файла sitemap.xml (он дожен быть в корне сайта).

Если у вас на хостинге стоит ограничения на создание файлов и смену их атрибутов, то сделайте пустые файлы sitemap.xml и sitemap.xml.gz и закачайте их по FTP. После этого выставьте для них атрибуты 666.

Дальше идем в гугл на страницу Google Sitemaps. При этом вы должны уже иметь учетную запись Google, то есть быть зарегистрированным. Дальше просто: добавляете сайт и указываете путь до только что созданого файла sitemap.xml.

Гугл может потребовать доказательства, что добавленный сайт действительно ваш. Для этого нужно будет на своем сайте разместить пустой файл с предложенным именем.

После какого-то времени появится статистика, анализ, диагностика и т.д., то есть те инструменты, которые помогут вам оценить свой сайт.

Единый файл шаблона

Приступаем к сегодняшней теме рассылки. :-)

Вы уже знаете, что файлы в шаблоне выполняют различную роль. Например, single.php используется для вывода одиночных сообщений. Файл page.php - для вывода статичных страниц и т.д. На практике получается, что код в этих файлах во многом дублируется. Это происходит из-за того, что обычно используется одно оформление и одна структура HTML. В этом случае различия носят очень небольшой характер.

Например, в single.php нет смысла указывать ссылку в заголовке записи, поскольку она будет ссылаться на текущую страницу. В page.php нет смысла указывать рубрику, поскольку она всегда равна по-умолчанию.

Правда, это только в том случае, если вы используете стандартные средства. При использовании WP-CLIENT, для постоянных страниц можно указывать любую рубрику.

В общем, если вы занимаетесь программированием шаблонов для WordPress, то неизбежно придете к мысли, каким-то образом это всё объединить и исключить избыточное дублирование.

Главный файл

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

Функции

Для определения типа выводимой страницы, WordPress предоставляет в наше распоряжение функции вида "is_..."

is_home();
is_page();
is_single();
is_page();

и т.д.

Полный список доступен по адресу: http://codex.wordpress.org/Conditional_Tags

Алгоритм

Для новичков PHP наверное проще будет использовать цельные блоки кода для вывода конкретной страницы, например так:

<?php
if (is_single()) : ?>

код только для single

<?php
endif;
?>

<?php
if (is_page()) : ?>

код только для page

<?php
endif;
?>

То есть для вывода статичных страниц используется один блок кода, для сообщений другой и т.д. При таком подходе проще не запутаться, но это всё-равно не избавляет нас от избыточного дублирования.

Для более "продвинутых" лучше использовать проверку типа страницы "точечно". Например, при отображении полных текстов нет смысла выводить заголовок в ссылке. То есть нужно проверять условие is_single и is_page:

<h1 class="storytitle"><?php
if (!is_single() && !is_page() ) {
       echo '<a href="';
       the_permalink() ;
       echo '">';
       };
the_title();
if ( !is_single() && !is_page() ) echo '</a>';
?>
</h1>

Код простой. Проверяем условия, что это не page (постоянная страница) или не single (обычное сообщение) и выводим ссылку на пермалинк (постоянная ссылка). Если же это постоянная страница или сообщение, то ссылка не выводится.

Для исключения вывода рубрики для постоянных страниц можно использовать такой код:

<?php
if (!is_page()) the_category('. ');
?>

Для того, чтобы отобразить результаты поиска можно попробовать добавить такой код:

<?php
if (is_search()) {
   echo '<h1 class="search">РЕЗУЛЬТАТЫ ПОИСКА: ' . $s . '</h1>';
}
?>

Понятно, что код может несколько отличаться в зависимости от оформления, но думаю, что идея понятна :-) .

google.com bobrdobr.ru del.icio.us technorati.com linkstore.ru news2.ru rumarkz.ru memori.ru moemesto.ru

Оставьте комментарий! (Вы согласны с правилами)

 

:mrgreen: :neutral: :twisted: :arrow: :shock: :smile: :???: :cool: :evil: :grin: :idea: :oops: :razz: :roll: :wink: :cry: :eek: :lol: :mad: :sad: :!: :?:

При добавлении кода (html, php) заменяйте < на &lt; и > на &gt;.
Внимание: антиспам - зверь! Копируйте своё сообщение перед отправкой. На всякий случай.