Как в WordPress вывести последние записи из определенной категории?

Стандартный WordPress-виджет Свежие записи по умолчанию показывает записи из всех категорий, и нет возможности их как-либо фильтровать. Но иногда на сайте бывает необходимо показать записи из определенной, нужной вам, рубрики. Другой стандартный виджет, Категории, отображает список всех категорий сайта. В нем тоже отсутствует фильтрация.

Как в WordPress вывести последние записи из определенной категории?

К счастью, существует несколько способов отобразить публикации из конкретной рубрики. Рассмотрим наиболее популярные из них.

Способ 1. Плагин Recent Posts Widget Extended

Этот метод является наиболее простым, а поэтому рекомендуется к использованию в первую очередь.

Первое, что вам нужно сделать, это установить и активировать бесплатный плагин Recent Posts Widget Extended. Дополнение позволяет вывести записи не только в виджете, но и в любом другом месте вашего сайта (с помощью шорткода).

Итак, чтобы показать публикации из определенной категории на панели виджетов, следует, во-первых, перейти в админ-раздел Внешний вид -> Виджеты.

Админ-раздел Виджеты

Видно, что на странице стандартных виджетов WordPress появился новый, под названием Recent Posts Extended. Его следует перетащить в нужное место области виджетов, после чего перед вами откроется окно настройки.

Настройка виджета Recent Posts Extended

Для выбора той или иной рубрики к выводу нужно перейти в блок настроек Только рубрики и отметить нужную.

Виджет поставляется с множеством опций. Так, есть возможность показать миниатюру записи, дату ее публикации, цитату, число записей, а также исключить конкретные посты и добавить свои CSS-стили.

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

Плагин также позволяет вставить блок выбранных записей с помощью шорткода [rpwe], включая в другие виджеты и страницы. Весь список параметров вывода можно найти на официальной странице плагина.

К примеру, добавим в конце записи список из 5 публикаций с категории, ID которой равняется 61. Для этого необходимо открыть запись на редактирование и вставить следующий шорткод:

[rpwe limit = "5" excerpt = "true" cat = "61"]

Параметр excerpt = «true» означает, что под названием записи будет отображена ее цитата (первые несколько слов).

На сайте это будет выглядеть следующим образом:

Страница записи

Способ 2. С помощью кода

Этот метод предусматривает редактирование содержимого файлов вашей активной темы на сайте WordPress.

Убедительно просим вас сделать резервные копии.

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

<?php $catquery = new WP_Query( 'cat=61&posts_per_page=5' ); ?>
<ul>

<?php while($catquery->have_posts()) : $catquery->the_post(); ?>

<li><a href="<?php the_permalink() ?>" rel="bookmark"><?php the_title(); ?></a></li>
<?php endwhile;
wp_reset_postdata();
?>

Первая строка этого кода создает новый запрос WordPress с определенным идентификатором категории (cat=61). Вам нужно заменить его собственным идентификатором категории. Он отображает только заголовок записи в списке.

Вы можете изменить его, чтобы отобразить полный контент, добавив следующий код:

<?php $catquery = new WP_Query( 'cat=61&posts_per_page=5' ); ?>
<ul>
<?php while($catquery->have_posts()) : $catquery->the_post(); ?>
<li><h3><a href="<?php the_permalink() ?>" rel="bookmark"><?php the_title(); ?></a></h3>
<ul><li><?php the_content(); ?></li>
</ul>
</li>
<?php endwhile; ?>
</ul>
<?php wp_reset_postdata(); ?>

Вы также можете заменить the_content() на the_excerpt(), чтобы цитаты, а не полную статью.

Курс WordPress-разработчик
Если Вам понравилась статья — поделитесь с друзьями
Михаил Петров