Как создать страницу с виджетами последних записей для каждой категории на WordPress?
Добрый день! Нужна помощь с созданием страницы, на которой будут виджеты с последними записями для каждой категории на WordPress.
У меня есть блог, в котором имеется несколько категорий записей. Я хочу создать страницу, на которой будут выводиться виджеты с последними записями для каждой категории. То есть, в каждом виджете должны быть только записи из определенной категории.
Я уже пытался использовать стандартные виджеты "Последние записи" и "Категории", но они выводят все последние записи вместе, без разделения по категориям.
Мне нужно, чтобы на странице каждый виджет отображал только последние записи из определенной категории и их заголовки были ссылками на соответствующие записи. Можете подсказать, как реализовать такую страницу?
// Пример кода, который я пытался использовать
<?php
$categories = get_categories();
foreach ( $categories as $category ) {
$args = array(
'post_type' => 'post',
'posts_per_page' => 5,
'category' => $category->term_id
);
$query = new WP_Query( $args );
if ( $query->have_posts() ) {
echo '<h3>' . $category->name . '</h3>';
while ( $query->have_posts() ) {
$query->the_post();
echo '<p><a href="' . get_permalink() . '">' . get_the_title() . '</a></p>';
}
}
wp_reset_postdata();
}
?>
Заранее спасибо за помощь!
Ответы:
// Получаем список категорий
$categories = get_categories();
// Проходимся по каждой категории
foreach ( $categories as $category ) {
// Устанавливаем параметры запроса
$args = array(
'post_type' => 'post',
'posts_per_page' => 5,
'category_name' => $category->slug // Используем slug категории
);
// Создаем новый запрос с заданными параметрами
$query = new WP_Query( $args );
// Проверяем, есть ли записи в данной категории
if ( $query->have_posts() ) {
echo '<h3>' . $category->name . '</h3>';
// Выводим последние записи
while ( $query->have_posts() ) {
$query->the_post();
echo '<p><a href="' . get_permalink() . '">' . get_the_title() . '</a></p>';
}
}
// Сбрасываем запрос
wp_reset_postdata();
}
Этот код будет выводить виджеты с последними записями для каждой категории. Заголовки записей будут являться ссылками на сами записи. Ты можешь изменить количество выводимых записей, изменив значение параметра 'posts_per_page'. Также, если ты хочешь изменить формат отображения записей, ты можешь модифицировать соответствующую часть кода.
Надеюсь, это поможет тебе реализовать страницу, которую ты хочешь создать! Если у тебя возникнут еще вопросы, не стесняйся задавать их. Удачи в работе с WordPress!