Как вывести записи текущей категории WordPress?

В WordPress записи в категории (или архиве) по умолчанию сортируются в хронологическом порядке (т.е. самые поздние записи располагаются выше), но зачастую нам требуется их вывести в обратном порядке или вообще произвольно. В частности, для моего блога потребовалось вывести уроки в обратном хронологическом порядке (сначала более ранние уроки).


Для этого в шаблоне категории category.php находим код:

<?php if (have_posts()) : while (have_posts()) : the_post();
get_template_part('post', 'category');
endwhile;
else :
get_template_part('post', 'noresults');
endif;
?>

и заменяем код на следующий:

<?php
$infocat = get_the_category();
$info = $infocat[0]->cat_ID;
$array = "orderby=date&order=ASC&cat=$info&showposts=10";
query_posts($array);
if (have_posts()) : while (have_posts()) : the_post();
get_template_part('post', 'category');
endwhile;
else :
get_template_part('post', 'noresults');
endif;
?>

Разберем код подробнее.

$infocat = get_the_category(); — определяет текущую категорию.

$info = $infocat[0]->cat_ID; — присваивает переменной $info ID текущей категории.

$array = "orderby=date&order=ASC&cat=$info&showposts=10"; — задает параметры выборки: сортировка по дате (orderby=date), в обратном хронологическом порядке (order=ASC), записи из категории с ID равным ID текущей категории (cat=$info), количество отображаемых записей 10 (showposts=10).

query_posts($array); — отбирает записи в соответствии с параметрами выборки выше.

Понравилась статья?

Поделитесь ей с друзьями:

Есть вопросы? Задайте их через форму комментариев.
 

4 Responses to Как вывести записи текущей категории WordPress?

  1. Мария:

    Наконец-то я нашла то, что искала. Спасибо автор, отличная статья, мне помогло, хотя мне пришлось править другой файл. В шаблоне моего сайта нет файла category.php 🙂

    • MARYKO:

      Мария, спасибо за отзыв:)
      Действительно, в некоторых темах на WordPress отсутствуют стандартные файлы.
      В этом случае приходится искать файл, отвечающий за нужный раздел.
      Сделать это можно при помощи инструмента «Просмотр кода элемента» в Google Chrome или «Fire Bug» в Mozilla Firefox.

  2. Виталий:

    а если рубрика дочерняя?

    • MARYKO:

      Добрый день!
      Вам нужно вывести статьи в дочерней категории в определенном порядке?
      Или Вам нужно получить нечто вроде списка:
      категория 1
      подкатегория 1
      подкатегория 2
      категория 2
      подкатегория 1
      подкатегория 2
      подкатегория 3
      и т.д.?

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

Ваш e-mail не будет опубликован. Обязательные поля помечены *