WordPress - карта сайта для посетителей

Итак, в этом уроке я покажу один из вариантов реализации на тему "HTML карта сайта для ВордПресс". Важно то, что обойдемся мы без кучи плагинов сомнительного качества.

HTML карта сайта для WordPress

Использовать в примере буду систему пользовательский шаблонов страниц. Стили будут адаптированы на прилагаемый по умолчанию минималисткий шаблон TwentyTen. Тем, кто не знает что это вообще такое настоятельно рекомендую почитать мою предыдущую заметку на данную тему. В принципе ничего сложного, понадобится только вывести на экран списки всех страниц, рубрик, автором-редакторов, записей. Для удобства восприятия информации посетителями сайта я визуально разделил  данные на пару частей посредством CSS.

Итак, ближе к делу. Скопируйте содержимое приведенного ниже файла в папку с TwentyTen под удобным вам именем (к примеру пусть будет "sitemap.php") и используйте наздоровье:

<?php
/**
	* Template Name: HTML карта сайта
 */
get_header(); ?>
  <div id="container">
    <div id="content" role="main">
      <h1 class="entry-title">Путеводитель</h1>
      <div class="entry-content">

<span style="float:left;width:50%">
<h2 id="posts">Записи</h2>
<ul>
<?php
// Рубрики, подлежащие скрытию, припишете к exclude ниже
$all_cats = get_categories('exclude=');
foreach ($all_cats as $rub) {
  print "<li>".$rub->cat_name."\n<ul>";
  query_posts('cat='.$rub->cat_ID.'&posts_per_page=-1');
  while(have_posts()) {
    the_post();
    $temp = get_the_category();
    // Линк на запись покажу только один раз
    // Делаю так, во избежание дублей, когда принадлежит нескольким рубрикам подряд
    if ($rub->cat_ID === $temp[0]->cat_ID) {
      print '<li><a href="'.get_permalink().'">'.get_the_title().'</a></li>';
    }
  }
  //сбросим переменные после себя и выведем закрывающие теги
		unset($cats,$rub,$temp);
  echo "</ul>\n</li>";
}
?>
</ul>
</span>


<span style="float:right;width:50%;">
<h2 id="pages">Страницы</h2>
<ul>
<?php
// Страницы, которые хотите скрыть от показа впишите после exclude
wp_list_pages( 
  array(
    'title_li' => '',
    'exclude' => '',
  )
);
?>
</ul>

<h2 id="authors">Пользователи</h2>
<ul>
<?php wp_list_authors('optioncount=1'); ?>
</ul>

<h2>Рубрики</h2>
<ul>
<?php wp_list_categories('show_count=1'); ?>
</ul>
</span>
<span style="clear:both"></span>

      </div><!-- .entry-content - тут уже пошел стандартный код -->
    <div class="entry-utility">
      <?php edit_post_link( __( 'Edit', 'twentyten' ), '<span class="edit-link">', '</span>' ); ?>
    </div>
  </div><!-- #content -->
</div><!-- #container -->
<?php 
get_sidebar(); <!-- подвал, колонки для виджетов -->
get_footer(); 
?>

Как видно на примере сниппета, - это обычный, слегка урезанный и дополненный вариант представления одиночной записи (single). Убран только цикл вывод постов и несколько излишних здесь системных ссылок. По-моему неплохо получилась наша "кустарная" HTML-карта сайта для WordPress CMS.





© 2012-2014 Druweb.ru. Вы можете спокойно копировать любые материалы сайта только при наличии обратной ссылки.