相同的评论在循环中重复

时间:2014-08-20 14:51:06

标签: wordpress

我的搜索结果页面中有一个循环,如下所示:

        <tr>              
          <th class="search-note" id="search-note">Last Note</th>
        </tr>    


<?php while ( have_posts() ) : the_post();
            $rid = get_the_ID();

//Get most recent note
        $args = array(                  
            'post_id' => $rid,                
            'number' => '1',
            'orderby' => 'date',
            'order' => 'DESC'
        );

//Date of last comment 
        $comments = get_comments($args);        
        foreach($comments as $comment) :
          $lastComment = convert_date(($comment->comment_date)) . ' -  <a href="' . get_comment_link( $comment->comment_ID ) . '">' . neat_trim(($comment->comment_content), 100) .  '</a> -- <em>' . ($comment->comment_author) . '</em>';
        endforeach;


         <tr>          
          <td><?php echo $lastComment; ?></td>
        </tr>

<?php endwhile; ?>

问题是,它获得的最后一条评论对于结果中的每一行都是相同的。因此,它获取了我想要的评论的所有正确信息,但它列出了对每行上没有评论的行的相同评论,而不是根据不同的post_id不同。

有人能指出我正确的方向吗?

1 个答案:

答案 0 :(得分:0)

好吧,首先我会检查$ lastComment是否实际设置,然后再尝试回复它。然后,我会在回应之后取消它。否则它将保留其前一次foreach循环的值。这样的事情,也许是:

<td><?php 
    if(isset($lastComment)) {
        echo $lastComment;
        unset($lastComment);
    } 
?></td>