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

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

Некоторые активно используют теги, некоторые же — категории. И не обязательно для этого применять плагины — можно это сделать с помощью вставки кода. Я уже писал, как вывести похожие записи по тегам:

  • Как вывести список похожих постов без плагинов (по тегам)
  • Как без плагинов вывести похожие записи с картинками и анонсами | часть 1
  • Как без плагинов вывести похожие записи с картинками и анонсами | часть 2

Если вы не хотите пользоваться плагинами для вывода похожих записей из той же категории, к какой принадлежит просматриваемый пост, то можете воспользоваться кодом, который приведу ниже:

Похожие записи из категории

tiaurus

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

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

  1. Алексей

    Гениально! Спасибо! Запарил этот wp related posts.

    Ответить
  2. Егор

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

    Ответить
    1. А куда вы вставляете код? Желательно вставлять его в цикл, то есть вовнутрь поста (например, сразу после вывода содержимого поста).

      Ответить
  3. Мария

    Спасибо! Попробовала на своем сайте! Шикарно внедрилось)))

    Ответить
  4. Мария

    Сегодня был замечен глюк. Ваш код что-то делает с комментариями, которые добавляются людьми. Выводятся комменты не к этой записи, а к похожим! Так расстроилась, пришлось код убрать :((

    Ответить
  5. maria

    Зарегестрировалась. Вы тут пишете про цикл, может, в этом моя ошибка? Что вы подразумеваете под циклом? Вот собственно мой сайт _http://ladystory.ru/_ У меня задача — вывести похожие записи уже под рекламой, чтобы не снизить себе доход. Вывожу до блока начала комментариев, встает отлично, но комментарии начинают выводиться к похожим записям.

    Ответить
    1. Код нужно вставлять внутри цикла

      <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
      ....
      <?php endif;?>

      Комментарии находятся за его пределами.

      Ответить
  6. maria
    Ответить
    1. noindex сейчас не работает — Яндекс отказался от этой директивы.

      Ответить
      1. А вы куда вставляете код? Сразу перед строчкой

        <?php comments_template(); ?>

        ?

        Ответить
        1. Мария

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

          Ответить
        2. Мария

          Когда я ставлю до

          <div class="postinfo">

          у меня полностью обрезаются комментарии под записью.
          Если я ставлю сразу перед

          <?php comments_template(); ?>
          

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

          Ответить
          1. Попробуйте вставить код сразу перед

            <?php comments_template(); ?>

            a после вставленного кода добавить строчку

            <?php wp_reset_query(); ?>

            Должно быть примерно так:

            ...
            код
            <?php wp_reset_query(); ?>
            <?php comments_template(); ?>
            ...
            Ответить
          2. Еще одна мысль — а если comments_template вынести за пределы цикла и вставить сразу после строчки

            <?php endif; ?>

            ?

            Ответить
            1. Мария

              Спасибо! Потестю и отпишусь Вам.

              Ответить
            2. Мария

              Спасибо! Первый способ дал тот же эффект, а второй сработал! Все работает отлично! ))))))

              Ответить
  7. maria

    И, если можно, удалите потом мой код. Или потрите дерект, не подумав добавила с id. Благодарю!

    Ответить
  8. AlexGr

    Все гениально и просто. Огромное спасибо

    Ответить
  9. Gruberhoff

    Подскажите, как заставить заработать этот код в собственных типах записей?
    Говорят, что нужно дописать строку

    'post_type' => 'post_type_name'

    но все-равно не отображаются :(

    А вообще спасибо, хорошая реализация вывод похожих записей.

    Ответить