Я уже писал как можно делать вывод похожих записей при помощи разных плагинов, теперь настал через дать вам код, при помощи которого можно обойтись и без плагинов.
Вариантов у нас только 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://trend-bag.ru/plagin-poxozhie-zapisi/
Кстати, почитал комменты, у Ripper та же проблема, что и у меня.
Так я и не смог разобраться в чем проблема.
Нашел выход с положения с помощью вывода предыдущих статей из той же рубрики. Теперь все работает на ура.
ETNO, скажи пожалуйста, а как сделать такой вывод кода в материале?
Спасибо.
syntax highlighter — только на этом блоге я сильно менял внешний вид для этого плагина, так что точно такой же не выйдет (хотя всегда можно глянуть у меня в исходном коде и скомуниздить
Thanks. Попробуем
Спасибо, взял на вооружение. Без плагинов то оно лучше
Вопрос только, как сделать чтоб не только заголовок выводился, а еще и пару строчек из статьи?
Спасибо!
Прекрасно работает, но не для сетевой версии WPMU. Статьи ищутся только в конкретном блоге. Скажите, пожалуйста, можно ли сделать так чтоб искались похожие статьи во всех блогах.
Спасибо за код. Подскажи, можно как-то сделать чтобы код анализировал тайтл постов, или это уже плагин надо ставить?
И еще, можно чтоб выводился кусок текста из поста?
по тайтлу только с помощью плагина. кусок текста можно сделать — нужно вставить к примеру функцию или же поставить плагин limit_post и с помощью него выводить лимитированное кол-во символов. Но сразу скажу, что с этим часто проблемы бывают, потому что обрезается не всегда как хотелось. Посмотрите у меня на блоге через поиск, я описывал хороший плагин для похожих записей
А как сделать чтоб с картинками выводилось?
зависит от того что за картинки вы хотите. Миниатюры, автокартинки, доп поля и т.д.
Подскажи, а как реализовать эту же задачу, но с условием что поиск не по рубрикам и тегам, а по произвольным полям?
Спасиба заранее.
ранее не сталкивался с этим, но знаю, что есть плагин — может он поможет, там в описании есть такая функция
Админ, такой вопрос, не знаете ли Вы как сделать так, чтобы вывод похожих новостей выводило из нескольких категорий, а не из одной, той что идет первая.
Интересует вывод именно по рубрикам.
это видимо только с плагинами, поищите на блоге, я описывал очень неплохой плагин похожих статей
ОК, Спасибо
А как без тегов и без категорий вывести похожие посты , по какому признаку ?
у меня вот есть сайт на wp там порядка 13000 записей теги замучаешься прописывать, и категория всего одна, но есть разделение в виде поалфавитного вывода и у каждого поста есть свои post_meta но в них нет не обного поля которое бы можно было использовать как UID
ps: сайт-катологизатор
думаю никак, обязательно нужна привязка к чему-то. попробуйте лучше плагином, тем более есть вполне приличные
Спасибо большое. Ранее пользовалась плагином SimpleTags. Но после обновления версии WordPress до 3.1.2 перестали корректно выводиться статьи по рубрикам. Как выяснилось — дело в плагине. Последнее время стараюсь меньше плагинов использовать, а больше дописывать в коде. =)
Мне нужно сделать так же, но еще и катинкой поста! Подскажите!
http://trend-bag.ru/plagin-poxozhie-zapisi/
Отличная статья, спасибо, сделал себе по этому образцу немного модифицированный аппендикс «Похожие записи:»
Спасибо! вставила все работает, ниче менять не надо!
Как сделать, чтобы выводились случайные статьи той же рубрики, а не последние?
думаю тут попроще можно. почитайте про query_post в гугле, я встречал много разных решений
Спасибо. То что нужно
привет, подскажи как сделать вывод всех записей с определенной меткой?
хотел отправить на кодекс, но, из-за того, что довольно часто этот вопрос задают, думаю в ближайшее время напишу статью о wp_query, там будет рассказано и о подобных вещах.
Будь любезен, а то не могу найти) ну или отправляй на кодекс) только конкретно0
wp_query, query_post и подобные помогут. Пишу статью о них, скоро будет
А какой у вас стоит плагин (с выезжающей панелькой «Похожие записи»)?
уже отвечал ранее, это не плагин, это своя функция и скрипт вшитый самостоятельно в тему сайта
Поделиться можете?
как? Этот скрипт писался именно под этот сайт, на другом его нужно подпиливать и это не готовое решение, что вставил и все. Его нужно вставлять в шаблон, а потом стилями доделывать под сайт
если бы кто-то взялся сделать плагин, на основе этого решения, то я бы поделился наработками
Хочу спросить, может вы мне подскажете почему у меня вместо » похожие статьи» вопросики, вопросики, а дальше все как положено, перечисление статей?
проблема с кодировкой сайта. Ищите в поисковике решения, давно все разобраны
Добрый день. У меня код выводит из рубрики последние добавленные записи. Подскажите что изменить в коде, чтобы выводились не только последние записи, но и те, которые были добавлены уже давно??? Заранее спасибо.
ну это нужно смотреть каким кодом выводится, обычно хватает прописать в параметрах orderby=rand, но все от кода зависит которым вывод идет
Спасибо. Помогло. Все замечательно работает, я очень рада))
Спасибо, все чудесно получилось, но есть пара вопросов.
В ответе на один из предыдущих комментов ты пишешь
Можно объяснить этот момент подробнее, где именно надо писать эту строчку?
И второй вопрос, в какую директорию надо заливать изображение list-main.gif?
проще просто отправить мне на мыло ваш код — я вставлю
Сам код я вставил, вопрос в том, куда надо вставлять эту запись — orderby=rand
Или ответ был об этой записи?
если использовали код, что в статье, то после ‘showposts’=>5, с новой строки пишите
Спасибо за разъяснение того, куда вставлять эту строчку
Очень даже хороший способ.
Добрый вечер. Подскажите пожалуйста, есть статья «Слоны» внутри этой статьи ссылка на другую статью » Африканские слоны». Так вот код не выводит картинку из статьи «Африканские слоны» хотя название выводит. Помогите пожалуйста как изменить код, чтобы картинку тоже показывал. Заранее спасибо!
этот код и не должен выводить картинку, если вам нужен вывод с картинкой, то можно восспользоваться плагином contextual related post, который я описывал также на блоге.
А я намучался со своим похожими статьями. Сделал без плагин а и в результате комментарии стали отображаться к другим статьям блога. Пришлось искать другое решение.
Сейчас поставил новый код посмотрю как будет работать!
Так и надо же, чтобы в похожих статьях отображались другие статьи блога…
Как вы заебали копипастить!
Спасибо, такой способ мне не известен был. Я при помощи миниатюр делаю, а на них потом гиперссылки даю, ну и подпись делаю к миниатюрам соответственно тоже. Выглядит тоже здорово.
Здравствуйте, если у меня много записей по меткам, и я хочу чтобы скажем 10 выводилось на одной странице 10 на второй и так далее, можно это как -то сделать. на страницах я использую плагин WP Page Numbers. вставляю эту строчку перед . Может и здесь можно ее как-то вставить чтобы разбивалось на страницы?
попробуйте вместо showposts поставить posts_per_page
спасибо, но к сожалению эффект тотже, сколько ставлю в «posts_per_page» или же в «showposts», столько и выводит. если же эти параметры убираю полностью, то выводит 15 записей сколько установленно выводить в «чтении» в админке, а остальные исчезают без появившейся пагинации. Код плагина вставляю после endwhile; как и на других страницах, но там срабатывает. Почитал пишут про $query_string и параметр paged, но как сделать не понимаю.
попробуйте вначале вот так вставить
и в параметрах после posts_per_page добавить