Похожие записи для wordpress с миниатюрами без плагина

Добрый день, уважаемые читатели!

Сегодня мы сделаем похожие записи для сайта на WordPress без плагина. Это будет некое продолжение предыдущей статьи.

В прошлом посте я показывал, как сделать похожие записи с помощью плагина Related posts. Он достаточно хорошо реализует этот функционал и я его рекомендую использовать. Но его можно заменить очень простым кодом, который также может неплохо выполнять свою задачу.

Данную статью я как раз пишу тогда, как проверил этот код на своем блоге. Все прекрасно работает. Блок выглядит точно таким же образом.

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

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

Сначала я даю видео-урок, где показал, как все сделать, а затем уже идет текстовая статья со всеми кодами и объяснениями.

Вт, собственно, сама часть кода.

Для настройки похожих записей нас интересуют 3 строчки в данном коде:

  • 9 строка - отвечает за режим отображения постов. Сейчас там стоит отображения похожих записей из одной категории. То есть если запись находится в какой-то категории, то в блоке ей будут показываться только посты из этой же категории. Таким образом создается перелинковка внутри каждой категории;

Если же мы хотим изменить данный параметр, то можем сделать вывод постов по меткам. Если вы их задаете к статьям, то код будет выводить записи похожие по меткам. Для этого необходимо всю 9ю строку заменить на ‘tag__in’ => $tag_ids,.

  • 11 строка - количество отображаемых постов в блоке. Как я уже говорил в предыдущей статье про плагин похожих записей, то оптимальным количеством постов с точки зрения полезности для перелинковки является до 5 записей. Я оставил по прежнему 4 поста для вывода;
  • 12 строка - случайный вывод записей, то есть каждый раз при обновлении страницы в определенной статье будет генерироваться новый список похожих записей. В данном коде я предпочел оставить данный параметр и, если вы сейчас попробуете обновить страницу, то увидите, что покажется совершенно другой список постов. и так будет при каждом обновлении. Такая рандомная (случайная перелинковка) очень круто помогает ускорить индексацию сайта.

Если же хотите, чтобы все время был фиксированный список, нужно 12ю строку удалить полностью. Но мне данный вариант не понравился, так как все время будет отображаться список из 4х последних постов в категории и изменяться он не будет, в какой бы записи не находились. Меня это не очень устроило. Может у вас будет и по другому. Вы попробуйте.


Чтобы вывести похожие записи без плагина, нужно вставить этот код в файл single.php вашей темы в то место, где заканчивается вывод контента. Как определить это место, у меня есть статья тут. Там все подробно расписал и видео-урок дал. Он вам поможет узнать то место, где нужно размещать подобные коды.

Окончательный вариант в моем файле имеет вид.

После этого похожие записи уже должны отображаться. Но для завершения процедуры нужно их качественно оформить. Я не стал обводить каждый пост в этом блоке каким-то рамками. Стремимся к простоте. Даю вам свои стили, которые необходимо разместить в файле стилей вашего шаблона style.css.

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

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

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

Для этого в исходном коде нужно заменить 20 и 21ю строчки на следующие.

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

Вот и все, друзья. Такой процесс создания похожих записей для WordPress сайта без плагинов. Все очень просто. Надеюсь, у вас получилось сделать все без сложностей.

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

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

До встречи.

С уважением, Константин Хмелев!

40 лет Победы51937Украина, Днепропетровская обл., г. Днепродзержинск,+38 093 338 11 41
Комментариев: 20
  • Здравствуйте, Константин!
    Спасибо за эту статью. Вы все очень хорошо описали.
    Все понятно.
    У меня только один вопрос. Сайт, на который я хочу поставить похожие статьи без плагина, "резиновый". Он адаптирован под мобильные устройства. Не будут ли картинки наезжать одна на другую при просмотре на маленьких экранах?
    Спасибо!

    • Здравствуйте. Я не проверял. Но имеется 2 варианта, как они себя поведут. Либо будут отображаться столько миниатюр, сколько влезет в область экрана, либо миниатюры будут смещаться вниз одна под одной, когда не будет хватать места.

  • Привет, Константин! Подскажи, пожалуйста, как задать отдельный класс для миниатюры похожих статей? Я бы хотела изменить размер миниатюры, и задать ей ещё некоторые характеристики, типа скругленных углов. Намучалась, не получается...

    • Здравствуйте. Не могу ответить на данный вопрос, т.к. в плагине выводятся миниатюры. Класс к ним (миниатюрам) уже должен быть прописан в стилях шаблона. Найдите его и отрегулируйте. Если нужно прописать отдельный класс только к миниатюрам тогда стоит прописать примерно так: #related_posts_box .общий класс для миниатюр {стили}. Если не сработает, тогда попробуйте дописать общий класс миниатюр к другим блокам, которые оборачивают похожие записи.

  • Ещё, не могу найти статью, где ты говорил: " Как я уже говорил в предыдущей статье про плагин похожих записей, то оптимальным количеством постов с точки зрения полезности для перелинковки является до 5 записей". Могу ли я поставить больше постов, например, 8?

    • Можете поставить сколько хочется, но эффективность потеряется и будет только хуже.

      • Мы же вроде на "ты" перешли))))

        • Да я как-то забыл) Много обращений и со всеми на "Вы" общаюсь) Поэтому и тут на Вы начал)

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

    • Круглые миниатюры у вас выводиться и не будут, т.к. это форма миниатюр моих записей. Если что-то съезжает, наезжает, значит проблема со стилями. Возможно, конфликтуют стандартные стили шаблона с вашими. Я бегло посмотрел пару страниц и не смог толком понять в чем проблема, т.к. вна каждой странице выводится всего 1 похожая запись с миниатюрой. Как только у меня появится время, чтобы помочь вам в персональном режиме, я вернусь на ваш сайт и попробую дать вам те стили, которые будут выстраивать блоки похожих записей, как и требуется. Но для этого задайте записям миниатюры, чтобы все было, как полагается.

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

  • Подскажите пожалуйста как выводить похожие записи только в одной рубрике. Как исключить вывод в других рубриках

  • Добрый день. Спасибо большое за статью. А такой вопрос можно вывести какая была предыдущая запись, а какая будет следующая запись. Соответственно в данной категории. Но например если у меня выводится сейчас последняя запись допустим 5. То хочу показать 4 - предыдущую, а 1 - как следующуюю. Ну и так далее. Так можно вообще слелать? заранее благодарю за ответ

    • Добрый. Сделать можно. Реализация стандартного варианта достаточно проста и имеется практически в каждом стандартном шаблоне вордперсс. Но там нет функции, чтобы в последней записи была ссылка на первую запись + ссылки между записями подставляются со всех категорий, т.е. будут выводится ссылки не только из конкретной категории, а изо всех записей. Чтобы такое реализовать, необходимо обращаться к программистам. Увы, но я им не являюсь и подсказать не могу, как осуществить такую задумку. Но это достаточно легкая задача для знающего человека и будет стоить в пределах 500 рублей на фрилансе.

  • Здравствуйте. Константин у меня в single.php нету php the_content. я ставил кода на siple.php но не получается как у вас после статье

    • Здравствуйте. Шаблоны бывают разные. Значит у вас контент выводится в другом файле. Но в любом случае в файле сингл.пхп должен быть код, который будет подключать контент из другого файла. И практически во всех случаях там имеется слово content.

  • У вас наверное ошибка. "Для этого в исходном коде нужно заменить 21 и 21ю строчки на следующие." А то читая что-то затупил))

    • Да, действительно ошибка. Исправил) Благодарю (20 и 21)

  • Здравствуйте. Я сделал всё как вы сказали и на моем сайте появились дополнитльные записи. но беда в том что они появились везде. и даже в страничке о себе))) Там то врят ли они могут пригодиться. Получается когда переходим на мою страничку о себе там внизу строчку - Обязательно ознакомьтесь с похожими записями.
    Но на этой странице и не должно быть никаких записей. можно как то изменить код чтоб дополнительные записи появлялись только в самих записях минуя страницы. подобно странице Обо мне?

    • Здравствуйте, ответил вчера на почту.

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

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