html-карта сайта WordPress — дополнение к плагину google xml sitemap

Вы когда-нибудь сталкивались с такой ситуацией: ваша текущая
тема (дизайн) WordPress не позволяет вывести в левой (правой) колонке –
sidebar – полный список публикаций? Точнее, технически позволяет (если
руки прямые), вот только смотреться такая “простыня” будет неважнецки:
слишком большая высота каждой страницы.

Я расскажу, как в WordPress вывести полный список статей на отдельную
страницу – автоатически, а не добавлять каджую ссылку вручную после
появления новой статьи. Итак, в этом движке все страницы делятся на page
(служебные страницы – “о нас”, “контакты” и т.д.) и single – одна
запись [блога].

1) создаём страницу (page), называем её “Карта сайта” (“Оглавление” и т.д.);

2) независимо от того, как у вас настроен вид постоянных ссылок –
/page.htm, /page.html, /page.php или /page/ задаём ей URL (например)
sitemap.html;

3) заходим в раздел Дизайн – Редактор, открываем для редактирования
скрипт “Шаблон страницы” (page.php), находим в нём строчку: <div
class=”entry”>

4) в левой колонке (sidebar.php) вашего текущего (да и наверно в любого) дизайна есть такая функция:

<?php wp_get_archives(‘type=postbypost&limit=5?)?> –
копируем её, где 5 – значение по умолчанию, ограничивает количество
постов, показываемых в левом меню. Можете задать значение побольше – 10, 15 постов…

5) в php WordPress есть ещё такая замечательная функция – делать
что-либо, если вы находитесь на [главной странице / любой странице page /
в любом посту single] — она присутствует в footer.php некоторых
тем. По правде говоря, создатели темы впихивают её, чтобы функция
впихивала в ваш “подвал” свои, ненужные вам ссылки. Мы же используем её в
своих целях, немного модифицировав:

<?php if ($user_ID) : ?><?php else : ?>

<?php if (is_single()) { ?>здесь пишем то, что должно происходить? если находимся в одном из постов

<?php } elseif (is_category()) {?>то же для страниц категорий

<?php } else {?><?php } ?><?php endif; ?>

Причём <?php } elseif (is_category()) {?> можно убрать за
ненадобностью. Таким образом, чтобы получить на своём сайте страницу
sitemap.html, которая будет наполняться автоматически, у вас после
строки <div class=”entry”> должен получиться вот такой
код:

<?php if ($user_ID) : ?><?php else : ?>
<?php if (is_page(sitemap)) { ?>
<?php wp_get_archives(‘type=postbypost&limit=1000?)?>
<?php } else {?><?php } ?><?php endif; ?>

Цифра 1000 здесь “ограничивает” число ссылок на статьи с содержимым вашего сайта. Пример того как это выглядит можно посмотреть здесь.


Рассказать друзьям:
Рубрики: Без рубрики
Вы можете отслеживать ответы на эту запись через RSS 2.0. Вы можете оставить отзыв, или Трэкбек с Вашего собственного сайта.
Добавить комментарий

XHTML: Вы можете использовать, эти теги: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>