Я уже писал как можно делать вывод похожих записей при помощи разных плагинов, теперь настал через дать вам код, при помощи которого можно обойтись и без плагинов.
Вариантов у нас только 2 – или делать вывод на основе рубрик, или же на основе меток.
Первый лучше походит, если вы редко пользуетесь метками или они у вас настолько разные, что почти не пересекаются
1. Вывод похожих записей при помощи меток
<h3>Похожие статьи:</h3>
<div class="sample-posts">
<ul>
<?php
//for use in the loop, list 5 post titles related to first tag on current post
$tags = wp_get_post_tags($post->ID);
if ($tags) {
$first_tag = $tags[0]->term_id;
$args=array(
'tag__in' => array($first_tag),
'post__not_in' => array($post->ID),
'showposts'=>5,
'caller_get_posts'=>1
);
$my_query = new WP_Query($args);
if( $my_query->have_posts() ) {
while ($my_query->have_posts()) : $my_query->the_post(); ?>
<li><a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title_attribute(); ?>"><?php the_title(); ?></a></li>
<?php
endwhile;
}
wp_reset_query();
}
?>
</ul>
</div>
Весь этот код нужно вставить в файл single.php (ну или куда вы там хотите его вставить).
’showposts’=>5 – это кол-во выводимых статей. В сам код я уже вставил нужные классы для форматирования. Теперь вы, к примеру, можете вставить в файл стилей что-то вроде
.sample-posts ul li{
background-image:url("img/list-main.gif");
background-position:left center;
background-repeat:no-repeat;
list-style-type:none;
margin-bottom:5px;
padding-left:18px;
}
только сделайте какое-то изображение стрелочки list-main.gif
2. Вывод похожих записей при помощи рубрик
<div class="sample-posts">
<h3>Похожие статьи:</h3>
<?php
$categories = get_the_category($post->ID);
if ($categories) {
$category_ids = array();
foreach($categories as $individual_category) $category_ids[] = $individual_category->term_id;
$args=array(
'category__in' => $category_ids,
'post__not_in' => array($post->ID),
'showposts'=>5, // Number of related posts that will be shown.
'caller_get_posts'=>1
);
// Rest is the same as the previous code
$my_query = new wp_query($args);
if( $my_query->have_posts() ) {
echo '<ul>';
while ($my_query->have_posts()) {
$my_query->the_post();
?>
<li><a href="<?php the_permalink() ?>" rel="bookmark" title="<?php the_title_attribute(); ?>"><?php the_title(); ?></a></li>
<?php
}
echo '</ul>';
}
wp_reset_query();
}
?></div>
Здесь все идентично, только выводятся записи из той же рубрики, что и основной пост.
Мониторинг сети:
Есть своя дача, хотите чтобы у вас был прекрасный сад. Купите плодородный грунт в москве и все будет расти как на дрожжах.
Понравилась статья? - Подпишись.
Или поделись полезным с миром
Похожие статьи:

Супер материал! Поставли на сайт. Теперь приходиться корректно вести тэги.
благодарю, я обычно пользовался симпле тагс, но уже в версии 2, 9он не работал и приходилось оставаться на 2.7
Ваша статья расширяет мои возможности и сознание )
Отдельное спасибо, хоть и новичок я в блогосфере, но с вашей помощью узнаю всё больше и больше!
Спасибо, давно хотел сделать, а тут смотрю, забыл, вот сейчас -1 плагин, что приятно.
Хотя я вообще не менял в стилях ничего только размер увеличил текста.
Спасибо за код) Но он работает не так как хотелось бы( Точнее не совсем так) По крайней мере второй… первый не проверял…
В общем он не исключает данную статью (в которой выводятся) из списка похожих записей… что изменить чтобы это исправить?)
P.S. Ошибочка в начале статьи: “теперь настал череД дать вам код”
Спасибо админ за пост, как раз то что нужно. Скажи пожалуйста, а как сделать такой вывод кода в материале?
Рано обрадовался я что то
. Глюки у меня чуток.
Админ подскажи пожалуйста, почему может выводится в похожих записях ссылка на ту же самую запись, которая открыта??? Не пойму что за глюк такой.
Вывод похожих записей делаю через рубрики.
Спасибо.
по идее, не должно быть, в коде прописано не дублировать, попробуйте может другие способы
пробовал еще один вариант, кстати, тоже самое, вернее там вообще глюки полным ходом были, в похожих статьях 5 ссылок на открытую статью
. Отбор шел тоже по рубрикам. По тегам правда не пробовал. Просто не приходится использовать одинаковые теги…
Во делема. Интересно конечно.
Ну, вам во всяком случае спасибо.
Будем думать.
попробуйте плагином, я ранее описывал неплохой плагин http://fleek.org/plagin-poxozhie-zapisi/
Кстати, почитал комменты, у Ripper та же проблема, что и у меня.
Так я и не смог разобраться в чем проблема.
Нашел выход с положения с помощью вывода предыдущих статей из той же рубрики. Теперь все работает на ура.
ETNO, скажи пожалуйста, а как сделать такой вывод кода в материале?
Спасибо.
syntax highlighter – только на этом блоге я сильно менял внешний вид для этого плагина, так что точно такой же не выйдет (хотя всегда можно глянуть у меня в исходном коде и скомуниздить
Thanks. Попробуем
Спасибо, взял на вооружение. Без плагинов то оно лучше
Вопрос только, как сделать чтоб не только заголовок выводился, а еще и пару строчек из статьи?
Спасибо!
Прекрасно работает, но не для сетевой версии WPMU. Статьи ищутся только в конкретном блоге. Скажите, пожалуйста, можно ли сделать так чтоб искались похожие статьи во всех блогах.
Спасибо за код. Подскажи, можно как-то сделать чтобы код анализировал тайтл постов, или это уже плагин надо ставить?
И еще, можно чтоб выводился кусок текста из поста?
по тайтлу только с помощью плагина. кусок текста можно сделать – нужно вставить к примеру функцию или же поставить плагин limit_post и с помощью него выводить лимитированное кол-во символов. Но сразу скажу, что с этим часто проблемы бывают, потому что обрезается не всегда как хотелось. Посмотрите у меня на блоге через поиск, я описывал хороший плагин для похожих записей
А как сделать чтоб с картинками выводилось?
зависит от того что за картинки вы хотите. Миниатюры, автокартинки, доп поля и т.д.
Подскажи, а как реализовать эту же задачу, но с условием что поиск не по рубрикам и тегам, а по произвольным полям?
Спасиба заранее.
ранее не сталкивался с этим, но знаю, что есть плагин – может он поможет, там в описании есть такая функция
Админ, такой вопрос, не знаете ли Вы как сделать так, чтобы вывод похожих новостей выводило из нескольких категорий, а не из одной, той что идет первая.
Интересует вывод именно по рубрикам.
это видимо только с плагинами, поищите на блоге, я описывал очень неплохой плагин похожих статей
ОК, Спасибо
А как без тегов и без категорий вывести похожие посты , по какому признаку ?
у меня вот есть сайт на wp там порядка 13000 записей теги замучаешься прописывать, и категория всего одна, но есть разделение в виде поалфавитного вывода и у каждого поста есть свои post_meta но в них нет не обного поля которое бы можно было использовать как UID
ps: сайт-катологизатор
думаю никак, обязательно нужна привязка к чему-то. попробуйте лучше плагином, тем более есть вполне приличные
Спасибо большое. Ранее пользовалась плагином SimpleTags. Но после обновления версии Wordpress до 3.1.2 перестали корректно выводиться статьи по рубрикам. Как выяснилось – дело в плагине. Последнее время стараюсь меньше плагинов использовать, а больше дописывать в коде. =)
Мне нужно сделать так же, но еще и катинкой поста! Подскажите!
http://fleek.org/plagin-poxozhie-zapisi/