Создаем карту сайта автоматически

Как вы думаете, почему блоги стали популярны? Лично мне кажется, что каждый блог похож на небольшую книгу, которую пишет его владелец. Помимо тематической составляющей (технические вопросы программирования или seo, smo и т.д.) блог в большинстве случаев содержит и художественную составляющую, которая вносится личностью автора. Если стиль изложения свободный, то тема, раскрываемая на страницах этой небольшой книги, становится доступней.

Каждая статья, является в некотором смысле логически законченной (прямо как небольшая лекция). Чем не идеальный учебник?

Если вы читаете несколько блогов одной тематики, то избавлены от однообразия изложения материала (что часто напрягает в учебниках). Авторитетность автора можно определить по разным показателям блога (в большинстве случаев) – это облегчает выбор блогов для чтения. Но это все темы сегодняшней не касается… Это так… Размышления.

Итак, книга… Мы остановились на том, что блог очень напоминает книгу. А вы когда-нибудь пользовались книгой, у которой нет содержания? Нет? А я вот недавно совсем взял книгу в библиотеке объемом около 600 страниц, у которой оно было вырвано :)
Вся книга мне не была интересна, а искать в 600 страницах нужную мне тему особого удовольствия не предвещало.

Конечно же, почти у каждого блога имеется набор рубрик (штук 5-15), но решает ли это полностью проблему, если постов в них около 100 (сотни), ато и больше?
Хорошо, если поиск встроен, а то бывает и про него забывают. Большая часть ресурса (старые посты) становятся труднодоступными для посетителей сайта.

Хорошим решением этих проблем станет карта сайта. На своем блоге для автоматического построения карты я использовать плагин для WordPress от Dagon Design, который можно скачать здесь (https://www.dagondesign.com/articles/sitemap-generator-plugin-for-wordpress/).
Плагин sitemap generator поддерживает много языков (в том числе и русский) и много настроек.
К сожалению, настроек для графического оформления карты сайта там нет, а оформление по-умолчанию не порадовало (обычный список с вложениями).

Но ничего, если гора не идет к Магомеду, то Магомед идет к горе, или как там :)
Лезем внутрь скрипта плагина sitemap generator.
Наша цель – задать классы для родительских категорий и постов в них, чтобы потом их можно было менять внутри файла стилей блога.

В исходных кодах для wp я не силен, но исходник плагина написан хорошо и найти функции вывода для страниц и рубрик я смог.

ddsg_display_pages – функция для вывода списка страниц,
ddsg_display_posts – функция для вывода списка категорий и постов.

Оба вывода имеют одинаковый формат:

Страницы [Рубрики]
<ul>
    <li>Рубрика 1
<ul>
    <li>Пост 1</li>
    <li>Пост 2</li>
И т.д.</ul>
</li>
</ul>

Вывод раздела для страниц на карте я отключил через настройки и на карте у меня остались только категории и посты.
Тип заголовка сразу под заголовком страницы (“Карта” в моем случае) смотрелся криво и я его убрал.

Для этого надо в функции ddsg_display_posts закомментировать строку
// $t_out .= DDSG_POST_HEADER;
В другой функции можно сделать тоже самое, только там
// $t_out .= DDSG_PAGE_HEADER;

Теперь добавим класс для всех тегов

    • ‘;
      [/cc]

      И класс для названий рубрик (SiteMapCat):

      if ($post_data[$p]['type'] == 'c') {

      //$t_out .= '
          <li>' . DDSG_CAT_HEADER . ' ';
      $t_out .= '
      </li>
          <li> ';
      $t_out .= '
      <a href="' . get_category_link($post_data[$p]['id']) . '">
      </a> $t_out .= ' title="' . strip_tags($post_data[$p]['title']) . '"';
      if ($new_window) {
      $t_out .= ' target="_blank"';
      }
      $t_out .= ' class="SiteMapCat" >' . $post_data[$p]['title'] . '';

      Здесь я так же закомментировал строку
      $t_out .= ‘<li>’ . DDSG_CAT_HEADER . ‘ ‘;
      Которая перед каждой рубрикой зачем-то выводит слово Категория:
      Категория : SEO
      Это лишнее :)

      Функция для вывода списка страниц похожа на эту как две капли воды, поэтому изменить ее аналогичным способом не составит для вас труда.

      Ну теперь только осталось описать все указанные классы в вашем файле стилей для блога.
      Удачи! :)

в списке рубрик и постов (SiteMapList):

[cc lang=”php” tab-size=”2″ lines=”40″]
if ($level > $llevel) {
$t_out .= ‘





Читайте также:



Один ответ на “Создаем карту сайта автоматически”

  1. А у тебя получилось сделать так, чтобы навигация по страницам работала? У меня все равно показывает только первые 50 ссылок и всех делов.


© Copyright. . I-Novice. All Rights Reserved. Terms | Site Map