Как вывести список предыдущих постов из категории без плагинов | n-wp.ru

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

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

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

В файл functions.php вставьте такой код:

Этот код создает функцию, которая выбирает последние публикации из той категории, к которой принадлежит просматриваемый пост. После этого остается только вывести результаты этой функции. Вставляем пару строчек в то место, где хотим видеть их (обычно это бывает конец файла single.php, но я иногда вставляю код и в сайдбар:

За количество выводимых постов отвечает $post_num = 5 и $the_cat_id, 5.

36 thoughts on “Как вывести список предыдущих постов из категории без плагинов

  1. очень полезная фишка, единственный вопрос. допустим у меня 5 записей. я использую этот код. к примеру, в 5-й записи покажет предыдущие 4. при этом больше не будут меняться эти ссылки при добавлении новых материалов?

    то есть , ссылки у каждой записи на другие будут постоянны? если да, то цены вам нет))))

    1. Ссылки у каждой записи меняться не будут. Еще раз: это вывод предыдущих постов из той же категории, основанный на ID кадой записи. Например, в категории опубликованы посты с ID 100, 120, 125, 148, 182, 168, 172, 173. Для записи с ID=120 появится список постов с ID 125, 148, 182, 168,172. То есть это настоящая перелинковка с постоянными ссылками.

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

    142 строка это как раз та , где начинается функция вставки

  3. Здравствуйте!
    А можно ли подобным образом вывести записи с нужным тэгом из определённой рубрики с известным id?

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

    Спасибо!

    1. Этот код показывает только предыдущие посты из данной рубрики. Теги при этом не учитываются. Думаю, что то, что вы хотите получить, с помощью этого кода сделать нельзя.

  4. Добрый день!
    У меня меняется кодировка на абракадабру при вставке этих кодов.
    В чем может быть причина?
    Есть ли разница в какое место в functions.php его вставлять.
    Спасибо!

    1. Разница есть. Попробуйте вставить этот код в самом начале, во второй строчке, сразу после <?php
      Кстати, а как вы его копируете? Нужно подвести курсор к коду, и в появившейся панели выбрать view source — вот оттуда и копировать.

    1. Да, так и правда получилось) спасибо!)
      только видимо мне надо немого другое…
      в сайдбаре список рубрик, заходишь в рубрику раскрывается сисок постов этой рубрики, заходишь в пост, этот список все также отрыт, заходишь в другую рубрику, для нее также раскрывается список постов, а старый список закрывается….
      можете что нить посоветовать?:)

        1. я так понимаю это раскрывающийся список подрубрик, а мне нужен список постов.

              1. tiaurus, привет!!!
                подскажи пожалуйста, можно ли разделить этот плагин на несколько виджетов. Т.е. чтобы н-р, часть выводилась в сайтбаре, часть на главной и т.п…. и у этих частей были разные настройки в админке…
                а?)

  5. Фича работает, но не так как нужно. Выводит случайные посты каждый раз! Как это можно поправить?

    1. Вы уверены, что случайные? Этот код выводит предыдущие посты из этой же категории, по сравнению с текущей записью. То есть если запись опубликована 1 января, то код выведет список постов из этой же категории, опубликованные до 1 января.

    2. вау!!! супер! т.е. так он тоже работает???
      отлично! спасибо) попробую — отпишусь))))

    1. Отличный вариант! Только несколько непонятный для новичков. Наверное пора его оформить в виде отдельного плагина с разделом настроек?

      1. Не стоит такая функция оформления как плагин. Хотя, можно, только у меня чет на это дело желания нет.

  6. Всё отлично работает.
    Только вот хоть убей- не могу изменить количество постов.
    По умолчанию 5, а надо 3.Вроде всё сделал как написано выше.
    Пните плиз что не так, по возможности подробно.

    1. Вместо

      поставьте

      Так же вместо

      поставьте

  7. даже при вставке кода пиведенного выше,без изменений,отображаются ВСЕ посты из категории.Изменение строчек не помогает.

    1. Видимо есть конфликт с каким-то кодом внутри вашей темы, либо с каким-то плагином. Пробуйте с дефолтной темой.

  8. Огромное спасибо! Сразу стал использовать но вот беда, заметил что комментарии выводятся от поста последнего в списке! Первичная the_ID() меняется на ID последней выведенной. Отсюда комментарии выводятся не из того поста которого надо а из последнего поста в похожих записях. Как после использования кода, записать в the_ID() ID именно начального поста?

  9. AND wposts.ID get_results($sql, OBJECT);
    в этой строке, двойную скобку поставить надо, потому что у Вас в этой строке:
    $sql = «SELECT wposts.* — открывается скобка, соответсвенно, если я правильно понял Ваш код то надо, строку которую я привел в начале изменить на:
    AND wposts.ID get_results($sql, OBJECT)»;

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

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

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