Comment count doesn’t seem to be correct

8.19K viewsIssuesbug
0

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 ?

1

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 ??

edited answer
You are viewing 1 out of 5 answers, click here to view all answers.