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

Часто встречаются вопросы, как вывести определенные записи из определенной рубрики при определенных условиях. Ну например, у вас есть категория «дома», и вы хотите отображать в записи, назовем ее «дом-1», остальные записи из рубрики «дома», но вывод вы хотите делать только в данной категории и только в сайдбаре например и только при условии того, что на данный момент открыта страница дом-1 например.

Задача «Вывести записи при услових»

Попробую объяснить с пояснениями:

  • ваш-сайт.ru/дома/ – это путь до категории дома.
  • ваш-сайт.ru/дома/дом-1 – это путь до одной записи

Вам нужно в сайдбаре по пути ваш-сайт.ru/дома/дом-1  показывать ссылки на другие дома, из данной категории. Можно конечно поставить плагины, коих сейчас огромное количество, но данная задача решается всего парой строк кода.

Решение задачи

Для нашей задачи нам потребуется отредактировать файл sidebar.php вашей темы. Мы будем использовать встроенные функции wordpress, а точнее is_single() и in_category(), не путайте с is_category()

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

<?
if (is_single() && in_category(24))
   { 
      //Тут код
   };
?>

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

// Вывод материала на странице документации
	if (is_single() && in_category(24)){ ?>
	<aside class="widget widget_recent_comments clearfix">
		<div class="widget-header">
			<h3 class="widget-title"><i class="fa fa-tag" aria-hidden="true"></i> Материалы по теме</h3>
		</div>
		<?
		$cat_id = 24; // Id категории
		$count_post = 15; // Количество выводимых постов

		$resent = new WP_Query("cat=$cat_id&showposts=$count_post");
		?>
		<ul>
		<?
		while($resent->have_posts()) : $resent->the_post(); ?>

		<li><i class="fa fa-angle-right" aria-hidden="true"></i> <a href="<? the_permalink()?>" rel="bookmark"><?the_title();?></a></li>
		<? endwhile;?>
		</ul>
		<?};?>

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

 

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *