Карта сайта wordpress для людей

Здравствуйте, сегодня создадим страничку, на которой выведем список всех опубликованных на сайте записей, страниц – то есть создадим карту сайта для людей (посетителей, пользователей).
Рассмотрим как создать карту сайта wordpress вручную и с помощью плагинов.


Скачать исходники для статьи можно ниже

Начнем с wordpress плагинов для создания Карты сайта:

1. HTML Page Sitemap
Обновление: 2015-1-11
Активных установок: 30 000+
Сайт плагина: “ru.wordpress.org/plugins/html-sitemap/screenshots/”

2. PS Auto Sitemap
Обновление: 2015-7-13
Активных установок: 80 000+
Сайт плагина: “ru.wordpress.org/plugins/wp-sitemap-page/”

Как создать карту сайта wordpress в ручную:

Можно воспользоваться следующим кусочком кода:

<?php query_posts('cat=3&showposts=10000');
if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
<li><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li> 
<?php endwhile; else: endif; wp_reset_query(); ?>

Как создать карту сайта wordpress с помощью вышеуказанного кода?
Для примера будет использована стандартная тема wordpress – Twenty Twelve.

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

Если у вас нет ftp доступа к сайту и нет доступа к хостингу сайта (менеджер файлов), то можно создать шаблон страницы с помощью кода из админки wordpress – более подробно описано тут – Как создать новый файл темы wordpress, вот, например, для сайта с активной темой Twenty Twelve код будет следующим:

<?php touch('wp-content/themes/twentytwelve/kartasite.php');?>

Его нужно прописать в файле header.php после тега “body”, чтобы зайти в него нужно в админке открыть пункт “Внешний вид” – подпункт “Редактор” – справа в списке шаблонов найти файл header.php:

...

<body <?php body_class(); ?>>

<?php touch('wp-content/themes/twentytwelve/kartasite.php');?>

<div id="page" class="hfeed site">

...

В итоге в списке файлов справа появится файл kartasite.php:

kartasita1

Теперь будем создавать код для данного файла kartasite.php – будущей карты сайта.

За основу возьмем код страницы (или записи)- page.php, только уберем из нее код вставки контента.

Заходим в файл page.php копируем весь код и вставляем его в файл kartasite.php

После нужно прописать имя индивидуального шаблона:

<?php
/*
Template Name: kartasita
*/

Далее убираем код контента и форма комментариев:

<?php while ( have_posts() ) : the_post(); ?>
				<?php get_template_part( 'content', 'page' ); ?>
				<?php comments_template( '', true ); ?>
			<?php endwhile; // end of the loop. ?>

После давайте пропишем рубрики и выведем с помощью кода список опубликованных записей данной рубрики.

Для того чтобы выводить список записей рубрики, нужно знать ID рубрики – как его узнать? – Достаточно в админке wordpress зайти в пункт “Записи” – подпункт “Рубрики”, навести мышкой на нужную рубрику и слева внизу посмотреть на ID рубрики:

kartasita2

kartasita3

или же кликнуть по названию рубрики, далее кликнуть по адресной строке и посмотреть ID рубрики:

kartasita4

kartasita5

В данном примере id рубрики равен 3.

После приступаем к созданию кода рубрики и списка записей данной рубрики в файле kartasite.php:

Названия рубрики можно украсить, например, картинкой:

<h4><a href="https://mnogoblog.ru/wp-content/uploads/2012/03/Stationery.png"><img class="size-full wp-image-2352 alignnone" title="Stationery" alt="" src="https://mnogoblog.ru/wp-content/uploads/2012/03/Stationery.png" width="64" height="64" /></a> Инструментарий Вебмастера и подготовка к работе с WordPress</h4>

А далее выводим список записей постов данной рубрики (в нашем примере id рубрики равен 3):

<?php query_posts('cat=3&showposts=10000');
if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
<li><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li> 
<?php endwhile; else: endif; wp_reset_query(); ?>

Далее создаем “Страницу” для отображения Карты сайта – заходим в админке в пункт “Страницы” – подпункт “Добавить новую” – называем её например “Карта сайта” и задаем ей шаблон с названием kartasite.php:

kartasita6

Также приведу примеры кода Карты сайта, которые нашел:

<h2 id="authors">Authors</h2>
<ul>
<?php
wp_list_authors(
  array(
    'exclude_admin' => false,
  )
);
?>
</ul>

<h2 id="pages">Pages</h2>
<ul>
<?php
// Add pages you'd like to exclude in the exclude here
wp_list_pages(
  array(
    'exclude' => '',
    'title_li' => '',
  )
);
?>
</ul>

<h2 id="posts">Posts</h2>
<ul>
<?php
// Add categories you'd like to exclude in the exclude here
$cats = get_categories('exclude=');
foreach ($cats as $cat) {
  echo "<li><h3>".$cat->cat_name."</h3>";
  echo "<ul>";
  query_posts('posts_per_page=-1&cat='.$cat->cat_ID);
  while(have_posts()) {
    the_post();
    $category = get_the_category();
    // Only display a post link once, even if it's in multiple categories
    if ($category[0]->cat_ID == $cat->cat_ID) {
      echo '<li><a href="'.get_permalink().'">'.get_the_title().'</a></li>';
    }
  }
  echo "</ul>";
  echo "</li>";
}
?>
</ul>

Еще один код Карты сайта для wordpress:

<h3>Pages</h3> 
 <ul><?php wp_list_pages("title_li=" ); ?></ul> 
<h3>Feeds</h3> 
 <ul> 
 <li><a title="Full content" href="feed:<?php bloginfo('rss2_url'); ?>">Main RSS</a></li> 
 <li><a title="Comment Feed" href="feed:<?php bloginfo('comments_rss2_url'); ?>">Comment Feed</a></li> 
 </ul> 
<h3>Categories</h3> 
 <ul><?php wp_list_cats('sort_column=name&optioncount=1&hierarchical=0&feed=RSS'); ?></ul> 
<h3>All Blog Posts:</h3> 
 <ul><?php $archive_query = new WP_Query('showposts=1000&cat=-8'); 
 while ($archive_query->have_posts()) : $archive_query->the_post(); ?> 
 <li> 
 <a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title(); ?>"><?php the_title(); ?></a> 
 (<?php comments_number('0', '1', '%'); ?>) 
 </li> 
 <?php endwhile; ?> 
 </ul> 
   
<h3>Archives</h3> 
 <ul> 
 <?php wp_get_archives('type=monthly&show_post_count=true'); ?> 
 </ul> 

Введите свой email адрес для того, чтобы подписаться на мой блог:


knopkisoc

Добавить комментарий