Как вывести список похожих постов без плагинов (по тегам)

👍 Научим бесплатно правильно создавать сайты на WordPress. Подробнее →

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

Обычно похожие посты выводят в конце публикации. Значит нужно отредактировать файл single.php:

ID);
echo "<div><h3>Похожие посты</h3>";
	$tagIDs = array();
	if ($tags)
	{
		$tagcount = count($tags);
			for ($i = 0; $i term_id;
			}
			$args=array(
			'tag__in' => $tagIDs,
			'post__not_in' => array($post->ID),
			'showposts'=>5,
			'caller_get_posts'=>1
			);
			$my_query = new WP_Query($args);
			if( $my_query->have_posts() )
			{
			echo "<ul>";
			while ($my_query->have_posts()) : $my_query->the_post(); ?>
			<li><a href="" rel="bookmark" title=""></a>
                        </li>
			<?php endwhile;
			echo "</ul>";
			}
	} else echo "<span>Похожие публикации скоро появятся</span>";
	$post = $backup;  // copy it back
	wp_reset_query(); // to use the original query again
echo "</ul></div>";?>

Этот вариант основан на тегах — выводится список пяти постов в такими же первыми тегами.

Создай свой первый сайт на WordPress

tiaurus

Автор n-wp.ru — блога о WordPress для новичков.

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

  1. Терентий Шахов

    Подскажите, пожалуйста, в какую часть single нужно разместить указанный код? Во все пытался – результатом оказывается текст кода на странице.

    Ответить
    1. В коде была ошибка. Я ее исправил — сейчас должно работать. Я вставляю сразу после вывода содержимого поста, но перед комментариями.

      Ответить
  2. Терентий Шахов

    Ок, Спасибо) Код воткнул, всё заработало. Надо будет над стилями списка поработать, а то как-то не очень смотрится.

    Ответить
    1. tiaurus

      Да, я стили специально не демонстрировал, так как блоги разные, и под все не подстроиться.

      Ответить
  3. Artemov M Alexey

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

    Ответить
    1. За это отвечает строчка

      else echo "<span>Похожие публикации скоро появятся</span>";
      Ответить
  4. p0zitiv

    Спасибо большое, отлично работает.

    Ответить
  5. Grawl

    Хороший код! То, что надо.
    Но вот стиль кода ужасен.

    Ответить
  6. barkas88

    Возможно ли сделать так: если нет тегов, то выводятся последние посты из категории, если есть теги, то, соответственно последние посты по тегам?

    Ответить
×
WordPress:
прокачай свой сайт!

Скидка на премиум темы и плагины

Успей забрать скидку ⋙