Я уже писал как можно делать вывод похожих записей при помощи разных плагинов, теперь настал через дать вам код, при помощи которого можно обойтись и без плагинов.
Вариантов у нас только 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>
Здесь все идентично, только выводятся записи из той же рубрики, что и основной пост.
Мониторинг сети:
Есть своя дача, хотите чтобы у вас был прекрасный сад. Купите плодородный грунт в москве и все будет расти как на дрожжах.
Понравилась статья? - Подпишись.
Или поделись полезным с миром
Похожие статьи:

Отличная статья, спасибо, сделал себе по этому образцу немного модифицированный аппендикс «Похожие записи:»
Спасибо! вставила все работает, ниче менять не надо!
Как сделать, чтобы выводились случайные статьи той же рубрики, а не последние?
думаю тут попроще можно. почитайте про query_post в гугле, я встречал много разных решений
Спасибо. То что нужно
привет, подскажи как сделать вывод всех записей с определенной меткой?
хотел отправить на кодекс, но, из-за того, что довольно часто этот вопрос задают, думаю в ближайшее время напишу статью о wp_query, там будет рассказано и о подобных вещах.
Будь любезен, а то не могу найти) ну или отправляй на кодекс) только конкретно0
wp_query, query_post и подобные помогут. Пишу статью о них, скоро будет