Потихоньку убираю плагины с блога. В 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 комментариев
так сплагином же удобней. ненадо файлы шаблонов засорять кодами пхп
зато памяти меньше сьедает
Пробовал добавлять в single.php. Работает. Комменты в норме. Только в списке первым все равно выводит текущий пост. Как пофиксить — пока не соображу.
Походу ты выводишь после основного loop’a. А первым выводит текущий пост наверно потому, что теги одинаковые, тут по тегам поиск идет. В аргументах попробуй поиграть значениями. У меня вот другая проблема, коменты левые выводятся
Ага, спасибо попробую. Про глюк с комментами тоже от кого-то уже слышал. А у самих wprecipes ничего нет по этому поводу?
Неа, я отписал там в коментах, пока молчок. Код впринципе рабочий, но либо выводить после коментов и потом через цсс пробовать выводить перед ними, либо забить и всунуть куда-нибудь, например в сайдбар, как я.
[…] подправил свой код постраничной навигации для вп. Теперь выводится название месяца, если листать […]
[…] у Александра Волкова, автора отличного блога alexvolkov.ru. Вот этот хак. Но вот беда: если этот хак вставить в шаблон поста […]
там в комментах к тому посту рекомендуют вписать wp_reset_query();
Но у нас правда все равно не заработало.
Решили проблему сохранением id поста.
Golan, я как-то решил, но вот забыл уже как )) Там есть способ сделать в обход основного лупа, т.е. пост ид не перебивается.