获取作者所写帖子的评论总数

时间:2016-12-14 作者:Megh Gandhi

我把这个密码写在了作者身上。php页面

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

 //gets the number of comment(s) on a post                  
 $comments_number = get_comments_number();

 //adds all the comment counts up
 $numbercomment += $comments_number;

 ?>
 <?php endwhile; ?>

 <span>A total of <?php echo $numbercomment; ?> comments have been made on this author posts.</span>
目前,我正在使用循环查找一篇帖子上的评论数,并将其与其他帖子上的所有其他评论计数相加。只包含作者的帖子,这样我就可以找到人们对特定作者帖子的评论数量。有没有更简单的方法。

编辑:
我想统计人们对该作者所有帖子的评论总数。把上面的代码放到author中。php文件,你就会明白我的意思。。

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

你可以使用get_comments(), 这样你就不必循环浏览帖子了。

<?php
    $args = array(
        \'post_author\' => \'\' // fill in post author ID
    );

    $author_comments = get_comments($args);

    echo count($author_comments);

?>

SO网友:CodeMascot

这里我为您编写了一个基于SQL的函数-

function the_dramatist_count_user_comments( $args = array() ) {
    global $wpdb;
    $default_args = array(
        \'author_id\' => 1,
        \'approved\' => 1
    );
    $param = wp_parse_args( $args, $default_args );
    $sql = $wpdb->prepare( "SELECT COUNT(comments.comment_ID) 
            FROM {$wpdb->comments} AS comments 
            LEFT JOIN {$wpdb->posts} AS posts
            ON comments.comment_post_ID = posts.ID
            WHERE posts.post_author = %d
            AND comment_approved = %d
            AND comment_type IN (\'comment\', \'\')",
        $param
    );

    return $wpdb->get_var( $sql );
}
使用方法如下-

$author_posts_comments_count = the_dramatist_count_user_comments(
    array(
        \'author_id\' => 1, // Author ID
        \'approved\' => 1, // Approved or not Approved
    )
);
现在开始$author_posts_comments_count 您将获得作者所有帖子的完整评论计数。

它经过测试。

希望这有帮助。

相关推荐

显示作者姓名PHP(自制插件)

我有一个需要帮助的问题,因为我自己找不到解决办法。我接管了一个网站,之前有人在那里创建了一个自制插件。。使用默认插件“Contact Form 7”,用户可以在页面上创建帖子。()https://gyazo.com/c8b20adecacd90fb9bfe72ad2138a980 )关于自行创建的插件“Contact Form 7 extender”,帖子是通过PHP代码在后台生成的(https://gyazo.com/115a6c7c9afafd2970b66fd421ca76a3)其工作原理如下:如果