Comment count doesn’t seem to be correct
Hi Rahul,
I followed the WordPress Codex for number of comments per question as below
https://codex.wordpress.org/Function_Reference/comments_number
However, this doesn’t seem to report the correct number. For example, I have over 15 comments on a particular question, but the codex function returns only two ?
Doesn’t seem to matter if this is inside the loop or out.
Any thoughts ?
Hello Mark,
If i am not wrong then you are trying to sum comment counts of question and answers. That is not a default behavior but this can be achieved.
Let me think adding this feature will be helpful or not.
Thanks
Yeh, I agree.
Validated as working
$args = array(
‘count’ => true,
‘parent’ => get_the_ID()
);
$totalcomments = get_comments($args);
<!– Comment Count –>
<a class=”ap-questions-count ap-questions-ccount” href=”<?php echo ap_answers_link(); ?>”>
<span itemprop=”commentCount”><?php echo $totalcomments ?></span>
<?php _e( ‘Comments’, ‘anspress-question-answer’ ); ?>
</a>
Works as intended once the comment_parent mapping is correctly configured
Hello Mark,
I don’t think this snnipet is doing what you are trying to achive. parent argument is used to get child comments of a comment.
Looking at this further, it would be simple to achieve if we populate table wp_comments (using field comment_parent) and base the count on that
For example:
SELECT * FROM `wp_comments` WHERE comment_post_id = 7239
Returns 4 rows, but this is only the comments per ANSWER – not the entire thread. So, in an ideal world, we could use the ID of the question itself to populate the same comment_parent field. With this is mind, it would then be easy to calculate the count of comments based on each question, no ?
SELECT count(*) AS ‘Total’ from wp_comments WHERE ‘comment_parent’ = 0
(which would return 237 – not what we want. BUT – if we populate this value at the time of posting
UPDATE `wp_comments` SET comment_parent = 7232 WHERE comment_post_id = 7239;
Then re-run the same query
SELECT count(*) AS ‘Total’ from wp_comments WHERE comment_parent = 7232
This provides the desired (well, almost, as I’d need to set all comments in this thread to have the same parent) result
Can we implement something along these lines ??
Ok, I see the disconnect. This is definitely a bug.
The WordPress codex will only show comments for the actual post itself – not the answers. In this case, there are two comments on the original question, so that would be correct. However, what I want is the cumulative total for all comments on all answers, plus the comments to the actual question
Personally, I think it’s a good idea. The higher the comments and views etc, the higher the engagement. It’s something I think should be core