Как вывести свежие записи из определенной рубрики в WordPress

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

postsbycategory[1]

Существует два способа вывести свежие записи из каждой отдельной рубрики в WordPress. Первый способ реально прост и удобен для новичков, потому как предполагается использовать плагин для вывода записей в виджет (не нужно заморачиваться с кодом).

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

Единственным преимуществом использования кода в том, что вы не будете зависеть от плагина, а также сможете более детально настроить вывода. Однако, способ с плагином ПРОЩЕ и позволяет настроить опции, которые удовлетворят 95% людей (это отображение миниатюры записи, вывод цитаты записи и контроль ее длины, отображение даты публикации записи и количества комментариев и т.д.)

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

Первым делом вам необходимо установить и активировать плагин Category Posts Widget.

После активации необходимо перейти в раздел Внешний вид » Виджеты, где вы найдете новый виджет под названием Category Posts в списке доступных.

Просто перетяните виджет Category Posts в сайдбар в то место, где нужно вывести свежие записи из рубрики.

category-posts-plugin-settings[1]

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

После окончания настройки кликните на кнопку сохранения настроек виджета. Можно перейти на сайт, чтобы увидеть работу виджета в действии.

Выводим свежие записи из каждой рубрики без плагина (кодом)

В этом способе мы будем использовать сниппет кода для вывода свежих записей из определенной рубрики.

Для начала вам нужно добавить следующий код в файл functions.php вашей темы или в плагин для сайта WordPress:

function devise_postsbycategory() {
// запрос
$the_query = new WP_Query( array( 'category_name' => 'announcements', 'posts_per_page' => 10 ) );

// Цикл
if ( $the_query->have_posts() ) {
	$string .= '<ul class="postsbycategory widget_recent_entries">';
	while ( $the_query->have_posts() ) {
		$the_query->the_post();
			if ( has_post_thumbnail() ) {
			$string .= '<li>';
			$string .= '<a href="' . get_the_permalink() .'" rel="bookmark">' . get_the_post_thumbnail($post_id, array( 50, 50) ) . get_the_title() .'</a></li>';
			} else {
			// if no featured image is found
			$string .= '<li><a href="' . get_the_permalink() .'" rel="bookmark">' . get_the_title() .'</a></li>';
			}
			}
	} else {
	// ни одной записи не найдено
}
$string .= '</ul>';

return $string;

/* Восстанавливаем оригинальные данные записи */
wp_reset_postdata();
}
// Добавляем шорткод
add_shortcode('categoryposts', 'devise_postsbycategory');

// Активируем выполнение шорткода в текстовом виджете
add_filter('widget_text', 'do_shortcode');

Убедитесь, что вы заменили ‘announcements’ на слаг своей рубрики.

Код просто выполняет запрос к WordPress для того, чтобы получить 10 записей из определенной рубрики. Затем он выводит эти записи в виде маркированного списка. Если у записи есть миниатюра изображения, то он отобразит ее.

В конце, мы создали шорткод ‘categoryposts’ и активировали его выполнение в текстовых виджетах сайта.

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

Первый, это можно просто вставить следующий код в любое место шаблона сайта, где нужно вывести список (например, footer.php, single.php и т.д.)

	<?php devise_postsbycategory() ?>

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

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

Если вы хотите вывести новые записи из рубрики на определенной странице или записи, то просто вставьте шорткод в область контента записи.

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

ul.postsbycategory {
list-style-type: none;
}

.postsbycategory img {
float:left;
padding:3px;
margin:3px;
border: 3px solid #EEE;
}

postsbycategory-code[1]

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

По всем вопросам и отзывам просьба писать в комментарии ниже.

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

VN:F [1.9.22_1171]
Rating: 4.6/5 (10 votes cast)

Об авторе ADv

Занимаюсь разработкой сайтов и магазинов на WordPress. Оказываю платные помощь и консультации. Skype: advokat_b
Scroll To Top