使用WP_Query()和自定义循环获取帖子ID的帖子评论?

时间:2010-10-21 作者:Rodrigo

(Moderator\'s note: 最初的标题是“有没有办法使用WP-Query()在自定义循环中通过帖子ID获取帖子评论?”

你好我正在运行自定义循环using WP_Query, 仅显示上特定类别的一篇文章home.php 页面,如下图所示:

<?php $pr_q = "cat=11&posts_per_page=1"; $pregunta_q = new WP_Query($pr_q); ?>
<?php while ($pregunta_q->have_posts()) : $pregunta_q->the_post(); ?>
    <!-- post stuff here -->
<?php endwhile; ?>
有没有办法让它显示对该特定帖子的评论?我尝试在循环中包含注释模板,但什么都没有。是否有一个函数可以加载我可以在家中使用的特定帖子的评论。php或其他任何地方?

4 个回复
最合适的回答,由SO网友:sorich87 整理而成

要在循环中使用注释模板,请添加

global $withcomments; $withcomments = true;

SO网友:John P Bloch

默认情况下,如果您

查看评论源,或查看singular 项目您的查询不会自动拉入注释,因为作为一个类别列表(即使只有一个),它不算作“单数”。幸运的是,有办法解决这个问题。基本上,在引入注释模板之前,您应该获取注释并将其放入您正在使用的查询对象中:

<?php $pr_q = "cat=11&posts_per_page=1"; $pregunta_q = new WP_Query($pr_q); ?>
<?php while ($pregunta_q->have_posts()) : $pregunta_q->the_post(); ?>
  <!-- post stuff before comments here -->
  $comments = get_comments( array(
    \'post_id\' => $post->ID,
    \'orderby\' => \'comment_date_gmt\',
    \'status\' => \'approve\',
  ) );
  if(!empty($comments)){
    $pregunta_q->comments = $comments;
    $pregunta_q->comment_count = count($comments);
  }
  <!-- comment stuff here -->
<?php endwhile; ?>

SO网友:Jeg Bagus

约翰·布洛赫的回答是正确的。如果您使用单数(&A),则只会加载注释;在评论提要上。幸运的是,我们可以通过在WP查询上添加额外的参数来覆盖此行为。

\'withcomments\' => 1, \'feed\' => 1

SO网友:Talha

无需WP\\U查询或自定义注释循环。您可以在post自定义循环或post WP\\U查询中获取post注释。在循环中,您有post\\u id。使用post\\u id获取评论。代码写在下面。

$comments = get_comments(\'post_id=\'.$post->ID);
       foreach($comments as $comment) :
               print_r($comment);
       endforeach;

结束

相关推荐

Paging in a sidebar mini loop

我切换到了另一个主题,并决定用其中的一些默认代码制作一个小部件,在自定义循环中显示我的美味帖子、推特帖子、su帖子和youtube视频(不包括主循环中的这些类别)。但是现在。。。分页不再工作。我制作了这个小部件:// =============================== EDL Sidebar Posts Widget ====================================== class SidebarPosts extends WP_Widget { &#x