Как вывести список постов в каждой категории

Пример кода, выводящего список категорий, и под каждой категорией - список входящих в нее постов. Такой список может быть простой альтернативой плагинам, создающим архив блога по категориям.
👍 Научим бесплатно правильно создавать сайты на WordPress. Подробнее →

Чтобы сделать полный архив блога на отдельной странице, сгруппировав посты по категориям, не обязательно использовать дополнительные плагины — можно внедрить специальную функцию, которая определит, какие в блоге есть категории с постами, и составит последовательный список категорий, под каждой их которой выведет список постов.

Для этого нужно создать шаблон страницы, и в него встроить этот код:

 'name',
  'order' => 'ASC'
   );
$categories=get_categories($cat_args);
  foreach($categories as $category) {
    $args=array(
      'showposts' => -1,
      'category__in' => array($category->term_id),
      'caller_get_posts'=>1
    );
    $posts=get_posts($args);
      if ($posts) {
        echo '<p>Категория: <a>term_id ) . '" title="' . sprintf( __( "Посмотреть все посты в категории %s" ), $category->name ) . '" ' . '>' . $category->name.'</a> </p> ';
        foreach($posts as $post) {
          setup_postdata($post); ?>
          <p><a href="" rel="bookmark" title="Прямая ссылка: "></a></p>
          

Этот код выведет список в виде:
Категория1
Пост1
Пост2
Пост3
Категория2
Пост3
Пост4
Пост5
Категория3
Пост6
Поск7
Пост8

Однако следует помнить, что чем больше постов, тем больше и запросов к базе данных, которые создаст этот код. Поэтому, чтобы избежать большой нагрузки на хостинг, нужно пользоваться плагинами кэширования. Так же не стоит списывать со счетов и специальные плагины, которые могут быть хорошей альтернативой этому коду. Некоторые их плагинов, создающие список постов по категориям:

Создай свой первый сайт на WordPress

tiaurus

Автор n-wp.ru — блога о WordPress для новичков.

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

  1. данил

    можете нормально код написать? Он не работает у вас, нет открывающих и закрывающих тегов пхп

    Ответить