Вывод последних записей в WordPress — это важная функция, позволяющая динамически отображать свежий контент на сайте. Она широко используется на главной странице, в сайдбарах и отдельных разделах для повышения вовлеченности пользователей. Гибкие настройки позволяют адаптировать отображение записей под задачи конкретного проекта. В этой статье реализуем вывод последних записей WordPress с помощью блока Gutenberg и кастомного кода.
Способ 1.
Последние записи с помощью блока Gutenberg
Блок «Последние записи» в редакторе Gutenberg позволяет быстро и без кода вывести свежие публикации на страницу и гибко настроить их отображение под задачи сайта.
Откройте страницу или запись в редакторе Gutenberg. Нажмите «+» (Добавить блок) и выберите из списка «Последние записи».

Основные настройки блока
После добавления блока справа появится панель настроек. Здесь можно задать:
- Количество записей — укажите, сколько последних постов выводить.
- Отображение даты — включите, если нужно показывать дату публикации.
- Отображение автора — добавляет имя автора к записи.
- Показ изображения — включает миниатюры (если они заданы у записей).
- Сортировка и фильтрация — позволяет выводить записи из определенных категории и сортировать записи по дате или названию.

В итоге, в зависимости от вашего оформления, вы получите примерно такой результат.

Такой способ не требует кода и подходит для быстрого вывода последних публикаций с гибкой настройкой прямо в редакторе.
Способ 2.
Последние записи с помощью кода
Вывод последних записей с помощью кода позволяет гибко фильтровать, сортировать и оформлять блок с записями.
В WordPress есть универсальный класс WP_Query, который позволяет выполнять запросы к базе данных для получения записей по различным параметрам.
На основе WP_Query напишем свою функцию, которая будет возвращать HTML-код последних записей.
Готовый код последних записей:
<?php /**
* Функция получения последних записей в WordPress
*
* @return void
*/
function get_latest_posts()
{
$args = [
'post_type' => 'post', // Получаем только записи
'posts_per_page' => 6, // Количество записей для получения
'post_status' => 'publish', // Только опубликованные записи
];
$query = new WP_Query($args);
if ($query->have_posts()) {
?>
<div class="latest-posts">
<?php while ($query->have_posts()) {
$query->the_post(); ?>
<a href="<?php echo get_the_permalink() ?>" class="latest-posts__item">
<?php if (has_post_thumbnail()) : ?>
<span class="latest-posts__image"><?php the_post_thumbnail('medium'); ?></span>
<?php endif; ?>
<span class="latest-posts__title"><?php the_title(); ?></span>
</a>
<?php
} ?>
</div>
<?php
}
}Добавьте этот код в functions.php и сохраните изменения. Далее откройте файл, в котором будут выводиться последние записи, и вставьте вызов функции:
get_latest_posts();Если на сайте используется шаблон, который получает обновления, рекомендуется использовать дочернюю тему.
Добавим стили в файл style.css
.latest-posts{
display: grid;
grid-template-columns: repeat(3, 1fr);
grid-gap: 26px;
}
.latest-posts__item{
display: flex;
flex-direction: column;
}
.latest-posts__image{
max-width: 100%;
height: 160px;
}
.latest-posts__image img{
height: 100%;
width: 100%;
object-fit: cover;
}
.latest-posts__title{
line-height: 1.35;
margin-top: 12px;
}С учетом этих стилей блок последних записей будет выглядеть примерно так:

Как получить последние записи определенной категории
Чтобы получить последние записи из определенной рубрики сайта, нужно немного изменить код функции get_latest_posts(). В массив параметров $args необходимо добавить поле с ID рубрики.
$args = [
'post_type' => 'post', // Получаем только записи
'posts_per_page' => 6, // Количество записей для получения
'post_status' => 'publish', // Только опубликованные записи
'cat' => 5, // Получаем записи из категории с ID 5
];Теперь будут выводиться только последние записи из категории с ID = 5.
Способ 3.
Последние записи с помощью шорткода
И, наконец, реализуем вывод с помощью шорткода. Такой подход позволит встраивать блок прямо в содержимое статьи или страницы.
Будем использовать функцию get_latest_posts из предыдущего способа, немного модифицировав её.
Откройте файл functions.php и добавьте следующий код:
<?php
/**
* Функция для шорткорда последних записей в WordPress
*
* @return void
*/
function get_latest_posts()
{
$args = [
'post_type' => 'post', // Получаем только записи
'posts_per_page' => 6, // Количество записей для получения
'post_status' => 'publish', // Только опубликованные записи
];
$query = new WP_Query($args);
if ($query->have_posts()) {
ob_start();
?>
<div class="latest-posts">
<?php while ($query->have_posts()) {
$query->the_post(); ?>
<a href="<?php echo get_the_permalink() ?>" class="latest-posts__item">
<?php if (has_post_thumbnail()) : ?>
<span class="latest-posts__image"><?php the_post_thumbnail('medium'); ?></span>
<?php endif; ?>
<span class="latest-posts__title"><?php the_title(); ?></span>
</a>
<?php
} ?>
</div>
<?php
return ob_get_clean();
}
}
add_shortcode('latest_posts', 'get_latest_posts');Вставьте шорткод [latest_posts] в содержимое статьи или страницы, чтобы вывести последние записи.

Сохраните запись и проверьте результат. Блок с последними записями встроен прямо в содержимое статьи.

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