Comment Inbox
About
Comment management in WordPress isn’t too hard when you manually approve each comment. The only downside is that you have to approve the comments before they appear. Comment Inbox gives you the ease of the moderation queue with the freedom of unmoderated comments. It’s a better way to deal with spam and bacn on your blog.
Here’s how it works:
- All comments except caught spam go into moderation (renamed “Comment Inbox”)
- All comments in your Comment Inbox immediately show up on the blog — so conversations don’t wait on your moderation skills
- There are three actions that can be performed on comments in your Comment Inbox: Archive (i.e. mark as read), Spam, Delete
- When your Comment Inbox is empty, you can rest easy knowing you’ve dealt with all your new comments
For the history of this plugin, please see my post: The Comment Inbox.
Download
Instructions
- Download and unzip
- Upload
comment-inbox.phpto your/wp-content/plugins/directory. - Activate it from within the WordPress admin interface.
- Recommended: Turn OFF moderation e-mail notification in Options/Settings » Discussion
- Done! Now every new incoming comment will go into your Comment Inbox (former known as the moderation queue). All comments (except spam) will appear on the blog immediately. Comments in the Comment Inbox can be archived (i.e. marked as “read”), spammed, or deleted.
Versions
- 0.1 Initial release


This plugin is great. With a few others it makes reactive moderation a MUCH friendlier option on wordpress.
One problem, however, is that calls to comments_number() and similar functions fail — here’s an additional function to make it set the comment counts correctly:
function cws_ci_fix_count($post_id, $new, $old) {
global $wpdb, $comment_count_cache;
$new = (int) $wpdb->get_var(”SELECT COUNT(*) FROM $wpdb->comments WHERE comment_post_ID = ‘$post_id’ AND (comment_approved = ‘1′ OR comment_approved = ‘0′)”);
$wpdb->query(”UPDATE $wpdb->posts SET comment_count = ‘$new’ WHERE ID = ‘$post_id’”);
$comment_count_cache[$post_id] = $new;
}
add_filter( ‘wp_update_comment_count’, ‘cws_ci_fix_count’ );
I bet that’s going to be ugly…
Spoke too soon, that filter isn’t good enough to catch it, this works instead.
———————————
function cws_ci_fix_count($comment_ID) {
global $wpdb, $comment_count_cache;
$post_id = (int) $wpdb->get_var(”SELECT comment_post_ID FROM $wpdb->comments WHERE comment_ID = ‘$comment_ID’”);
$new = (int) $wpdb->get_var(”SELECT COUNT(*) FROM $wpdb->comments WHERE comment_post_ID = ‘$post_id’ AND (comment_approved = ‘1′ OR comment_approved = ‘0′)”);
$wpdb->query(”UPDATE $wpdb->posts SET comment_count = ‘$new’ WHERE ID = ‘$post_id’”);
$comment_count_cache[$post_id] = $new;
}
add_filter( ‘comment_post’, ‘cws_ci_fix_count’ );
———————————
I get a try but it did not work like I thought. All the comments went in the moderation box (included the authorized ones) and people get a 403 error while their comments did not show on the blog…
Thanks, Jeff. The next version will contain a fix for that issue!