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

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

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

Также существует функция WP_Query, с помощью которой можно задать параметры запроса. Пример кода:

<?php
$args = array(
'category_name' => 'имя_категории', // замените на ваше имя категории
'posts_per_page' => 5, // количество записей
);
$query = new WP_Query($args);
if ($query->have_posts()) {
while ($query->have_posts()) {
$query->the_post();
// Вывод заголовка и ссылки на запись
echo '<a href="' . get_permalink() . '">' . get_the_title() . '</a>';
}
}
wp_reset_postdata();
?>

Этот код позволяет выводить последние 5 записей из заданной категории. Вы можете изменять количество записей и параметры запроса для достижения нужного результата. Кроме того, если вы используете конструкторы страниц, такие как Elementor или WPBakery, вы можете найти готовые элементы для отображения постов по категориям.

Способ 2. Использование шорткодов

Если вы предпочитаете не устанавливать дополнительные плагины, вы можете воспользоваться шорткодами. Для этого в WordPress есть встроенные возможности, которые позволяют выводить последние записи из определённой категории с помощью простого кода.

Например, вы можете использовать следующий шорткод:

[display-posts category="имя-вашей-категории" posts_per_page="5"]

Замените имя-вашей-категории на фактическое название вашей категории. Параметр posts_per_page задаёт количество выводимых записей.

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

Способ 3. Использование кода в файлах темы

Для более опытных пользователей есть возможность вставки кода непосредственно в файлы темы. Вы можете использовать функцию WP_Query для получения постов из определенной категории. Пример кода:

$args = array(
'category_name' => 'имя-вашей-категории',
'posts_per_page' => 5
);
$query = new WP_Query($args);
if ($query->have_posts()) {
while ($query->have_posts()) {
$query->the_post();
// Здесь вывод информации о посте, например:
echo '

' . get_the_title() . '

'; echo '

' . get_the_excerpt() . '

'; } } wp_reset_postdata();

Этот код можно вставить в файлы шаблона вашей темы, например, в sidebar.php или index.php, в зависимости от вашей структуры сайта.

Способ 4. Использование Gutenberg блоков

Если вы используете блоковый редактор Gutenberg, вы можете добавить блок «Последние записи» и настроить его вывод для определённой рубрики. В настройках блока выберите нужную категорию и отобразите записи в требуемом формате.

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

С этими методами вы сможете легко вывести последние записи из нужной категории в WordPress, выбирая тот способ, который наиболее удобен для вас.

Способ 3. Создание пользовательского WP_Query

Для начала создайте новый экземпляр WP_Query. Вот пример кода, который поможет вам воспроизвести нужный результат:


$args = array(
'category_name' => 'ваша_категория',
'posts_per_page' => 5
);
$query = new WP_Query( $args );

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


if ( $query->have_posts() ) {
while ( $query->have_posts() ) {
$query->the_post();
the_title();
the_excerpt();
}
}
wp_reset_postdata();

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

Использовать пользовательские WP_Query можно не только для категорий. Например, добавьте ‘tag’ или ‘author’ для фильтрации по меткам или авторам соответственно. А вот пример с дополнительными аргументами:


$args = array(
'category_name' => 'ваша_категория',
'tag' => 'ваша_метка',
'posts_per_page' => 5,
'orderby' => 'date',
'order' => 'DESC'
);

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

Оставьте комментарий