创建页面以计算WordPress站点中每个帖子的评论

时间:2016-08-02 作者:DomainsFeatured

我正在统计每个帖子上的实时评论数。我想在自定义页面上提取它们,如http://example.com/count.php 并将其输出如下:

http://example.com/the-post-url-with-3-comments/    3
http://example.com/the-post-url-with-no-comments/   0
http://example.com/the-post-url-with-12-comments/   12
所有帖子之间的间距并没有那么重要,我只需要两栏中包含我的所有帖子和批准评论的数量。

我已经接近这样做了this post 和使用echo get_comment_count( 149 ); 但它一次只使用一个帖子。我想提取所有帖子。

谢谢你的帮助。

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

这很容易做到。将此代码放入functions.php 文件

逻辑很简单。

获取所有帖子get_posts().

add_action( \'init\', \'get_comments_count\' ); // Hook to init, elsewhere or use directly in your code
function get_comments_count() {

  $all_posts = get_posts( array( \'numberposts\' => -1 ) );

  foreach( $all_posts as $current_post ){

    $comments_count = get_comment_count( $current_post->ID );
    $permalink = get_permalink( $current_post->ID );

    printf( \'<a href="%s">%s</a> - %s<br>\', $permalink, $permalink, $comments_count[\'total_comments\'] );

  }
}

SO网友:pallavi

尝试以下代码。它将显示post循环中每个post的注释计数。它还提供了评论链接。

<a href="<?php comments_link(); ?>"><?php comments_number(\'0 Comment\', \'1 Comment\', \'% Comments\'); ?>
</a>