Getting the number of comments on a post in WordPress with get_comments_number

The get_comments_number function in WordPress is designed to retrieve the total number of comments that are associated with a specific post. This function is typically used in the context of a WordPress loop, which iterates over each post in a collection of posts. The function’s output is the count of comments that have been approved for the post in question.

This function can be beneficial in several scenarios. For instance, it can be used to display the number of comments on a blog post, helping to indicate the level of engagement or discussion around that particular piece of content. It could also be used as part of a larger function or plugin to gather statistics about comment activity on a WordPress site.

The function operates by querying the WordPress database for comments that are associated with the specified post and that have a status of ‘approved’. The function then returns this count as an integer. It is important to note that the function only counts comments and does not include trackbacks or pingbacks in its count.

While the get_comments_number function does not directly display the comment count, it provides the necessary data to do so. It is typically used in conjunction with other functions or within a template file to output the comment count in a desired location on a WordPress site.

Parameters Accepted by the get_comments_number Function

The get_comments_number function in WordPress accepts one parameter, which is optional:

  • $post(intWP_Post): This can either be a Post ID or a WP_Post object. By default, this function uses the global $post if no specific post is defined.

Return Value of the get_comments_number Function

The get_comments_number function returns a value based on the existence of the post. If the post is present, it returns a numeric string that represents the total number of comments associated with that post. If the post does not exist, it simply returns 0.

If the function does not accept any parameters, it will default to using the global $post.

Examples

How to display the number of comments for a post

$num_comments = get_comments_number(); // get_comments_number returns integer
if ( $num_comments == 0 ) {
 echo "<p>No comments</p>";
} else {
 echo "<p>This post has " . $num_comments . " comments.</p>";
}

This code snippet is used to display the number of comments a post has. The get_comments_number() function returns the number of comments for the current post. If there are no comments, it displays “No comments”. Otherwise, it displays the number of comments the post has.

How to display different messages based on the number of comments

$num_comments = get_comments_number();
if ( $num_comments == 0 ) {
 echo "<p>Be the first to comment!</p>";
} elseif ( $num_comments > 1 ) {
 echo "<p>" . $num_comments . " people have commented on this post.</p>";
} else {
 echo "<p>One person has commented on this post.</p>";
}

This code snippet displays different messages based on the number of comments a post has. If there are no comments, it displays “Be the first to comment!”. If there is one comment, it displays “One person has commented on this post.”. If there are more than one comment, it displays the number of comments along with the message “people have commented on this post.”

Conclusion

The get_comments_number function in WordPress is a built-in feature that retrieves the number of comments for a specific post. It can be used to display the total number of comments on a post, which can be useful for bloggers and website administrators to monitor user engagement. This function can be implemented in various parts of a WordPress theme, such as in the comments section, post metadata, or within the loop, depending on the specific needs of the website. It’s a straightforward and efficient way to retrieve comment counts without requiring complex database queries or additional plugins.

Related WordPress Functions