我在循环之外有一个下一个帖子/上一篇帖子链接(它在footer.php
中),它不会接受命令只显示与您正在查看的当前帖子属于同一类别的帖子。
代码是:
<section class="navigation">
<?php $posts = query_posts($query_string); if (have_posts()) : while (have_posts()) : the_post(); ?>
<div class="left">
<?php previous_post_link('%link', 'Prev', TRUE); ?>
</div><!-- left -->
<div class="right">
<?php next_post_link('%link', 'Next', TRUE); ?>
</div><!-- right -->
<?php endwhile; endif; ?>
</section><!-- navigation -->
大概是因为上面的循环是自包含的,并且不知道single.php
的当前类别是什么?
我如何才能获得上面的代码,仅在主循环之外显示同一类别中的帖子?
答案 0 :(得分:0)
是的,您需要知道当前帖子的当前类别,为此编写此代码:
//Get the active post's category
$category = get_the_category();
$cat = $category[0]->cat_ID;
//Run Loop on Posts of Specific Category
<?php query_posts('cat='.$cat.''); ?>
<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
<div class="left">
<?php previous_post_link('%link', 'Prev', TRUE); ?>
</div><!-- left -->
<div class="right">
<?php next_post_link('%link', 'Next', TRUE); ?>
</div><!-- right -->
<?php endwhile; endif; ?>