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

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

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

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

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

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

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

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

За основу я взял код из поста Как вывести список похожих постов без плагинов (по тегам) и изменил его, добавив предварительное ограничение по категориям.

В файл functions.php нужно добавить:

В файл single.php, в то место, где нужно вывести список похожих постов, нужно вставить:

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

Так как я не программист, то за точность и оптимальность приведенного кода не ручаюсь (у меня в блоге он прекрасно работает).
Буду благодарен тем, кто подскажет, как автоматизировать формирование массива категорий для переменной $categories.

tiaurus

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

Комментировать

/* ]]> */