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

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

Функция, позволяющая выводить список последних постов из определенной категории без использования дополнительных плагинов.

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

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

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

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

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

tiaurus

Являюсь создателем n-wp.ru — блога о WordPress для новичков. Мне интересно многое, поэтому еще я сделал 123-box.ru — блог о программах для Windows, и tiaurus.info — блог о красоте.

34 комментария

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

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

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

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

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

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

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

    Спасибо!

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

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

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

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

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

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

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

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

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

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

    • Вместо

      поставьте

      Так же вместо

      поставьте

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

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

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

/* ]]> */