Потихоньку убираю плагины с блога. В sidebar.php:

<?php if(is_single()){?>
   <div id="related">
       <?php
           $tags = wp_get_post_tags($post->ID);
             if ($tags) {
               echo '<strong>Схожие посты</strong>';
               $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(); ?>
                   <p><a href="<?php the_permalink() ?>"
                  rel="bookmark"
                  title="Постоянная ссылка <?php the_title_attribute(); ?>">
              <?php the_title(); ?></a></p>
             <?php
                   endwhile;
                  }
               }
              ?>
            </div>
<?php } ?>

Подглядел тут
Баги – если код вставляется до коментов, то коменты отображаются от другого поста. Либо после вывода вставлять либо ковырять код.

Возможно, это будет интересно...

10 responses


Do you want to comment?

Comments RSS and TrackBack Identifier URI ?

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

Июль 28, 2009 3:54 дп

зато памяти меньше сьедает

Июль 28, 2009 8:12 дп

Пробовал добавлять в single.php. Работает. Комменты в норме. Только в списке первым все равно выводит текущий пост. Как пофиксить – пока не соображу.

Август 2, 2009 10:11 пп

Походу ты выводишь после основного loop’a. А первым выводит текущий пост наверно потому, что теги одинаковые, тут по тегам поиск идет. В аргументах попробуй поиграть значениями. У меня вот другая проблема, коменты левые выводятся

Август 2, 2009 10:17 пп

Ага, спасибо попробую. Про глюк с комментами тоже от кого-то уже слышал. А у самих wprecipes ничего нет по этому поводу?

Август 3, 2009 12:10 дп

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

Август 3, 2009 2:54 дп



там в комментах к тому посту рекомендуют вписать wp_reset_query();
Но у нас правда все равно не заработало.
Решили проблему сохранением id поста.

Февраль 14, 2010 11:35 пп

Golan, я как-то решил, но вот забыл уже как )) Там есть способ сделать в обход основного лупа, т.е. пост ид не перебивается.

Февраль 15, 2010 5:04 пп

Comment now!