Wordpress循环>独特的循环渲染略有错误的结果

时间:2009-12-25 09:05:55

标签: wordpress loops if-statement

在我的问题出现之前要理解的一些事情是有意义的:

  • 我使用一个名为“Unique”的隐藏类别来指定帖子是使用single.php还是使用特殊的帖子。
  • 我希望索引作为单一内容:只显示一个帖子,显示下一个/上一个帖子链接,以及评论。
  • 我需要index.php来说明帖子是否属于类别15(唯一)而不是<the_unique_content>,否则; <the_default_content>

我的循环可以做到这一切,但问题是,如果当前帖子是唯一的,那么会在唯一帖子下方显示1个额外帖子。

这是循环&gt;

<?php $wp_query->is_single = true; ?>

<?php $post_count = 0; ?>

<?php if (have_posts()) : while (have_posts()) : the_post(); ?>    

    <?php if ($post_count == 0) : ?>

<?php if (in_category('15')) { ?>   

<?php the_content(); ?> 

<?php } else { ?>   



    <?php the_content(); ?>    



    <?php $post_count++; ?>
    

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

我认为您没有正确设置查询以返回单个帖子。您的代码 限制了$post_count变量中的帖子数量,但在帖子为“唯一”的情况下,它只会在第二篇帖子中增加为1。

以下是限制单个帖子的帖子数量的一种方法。它涉及修改循环查询以将每页的帖子数设置为1。

<?php
global $wp_query;

$new_query = array_merge( array( 'posts_per_page' => 1 ), $wp_query->query );

query_posts( $new_query );

if (have_posts()) : while (have_posts()) : the_post(); ?>
等等......