A Conceptual WordPress Plugin by Stephen Cronin That Makes Comment Moderation Easier

Moderating replies to comments in the backend of WordPress is tough. For example, WordPress 4.3 displays the reply and who it’s in response too, but doesn’t show the text of the parent comment.

You can’t see the parent comment unless you open the author link in a new browser tab. This is not an optimal user experience and makes it more difficult to determine if the reply is from a spammer.

WordPress 4.3 Comment Content Area
WordPress 4.3 Comment Content Area

Show Parent Comment by Stephen Cronin, founder of Scratch99 Design, is a potential solution to the problem. Simply activate and browse to the comment section of the WordPress backend.

Show Parent Comment displays the text of the parent comment inside the reply. This helps moderators keep track of the conversation and helps to identify copy/paste spammers.

Show Parent Comment Plugin
Easy Way to See The Parent Comment

While the plugin works as advertised and shows the parent comment text, the interface needs to be improved. I’m not a fan of the background color and some of the comment information is repeated.

One idea is to replace the In Reply to Author text to say, In Response To. The show more or less button is a good idea but I think the text size needs to be increased.

Although Show Parent Comment is available on the plugin directory for free, it’s a proof of concept and is not officially supported by Cronin.

The concept needs work but I think something similar needs to be added to WordPress core. As it stands, moderating comment replies is not a great experience and I think Cronin’s plugin is a step in the right direction.


37 responses to “A Conceptual WordPress Plugin by Stephen Cronin That Makes Comment Moderation Easier”

  1. This is a cool idea. I’ll have to run it for a bit to get the feel of it.

    Our plan for Epoch is to let the admin see all of the pending comments right on the front end, marked as such. You could then run right through the conversation with hierarchy in tact and mark each comment. It’d be a quick little Ajax request that would turn the comment from gray to fully active, or kill it if spam.

    Would that be of interest?

  2. Thanks for the feedback Jeff,

    Any suggested background colour? At one point I was going to add in the colour picker, then pulled it back to a custom CSS setting, then thought that was overcomplicating it given it was backend only. So I went with decision, not option. I can add an option if people want it or I can change the background colour to something else.

    The “who said” link goes to editing the parent comment (if user has permission to edit that comment), whereas the link provided by core goes to the front end. Is that useful at all? Or no point? Anyway, I agree that’s not clear, so I will rework it as you suggest (I really wrote this for you!).

      • Well there is the “Before a comment appears” setting, which can be set to: “Comment author must have a previously approved comment”

        So you’re really just talking about changing that from 1 approved comment to 5. Might be possible.

        But although that catches new commentators posting things that don’t follow the guidelines, it won’t help catching inappropriate comments from people who’ve been around a while. A lot easier though! :)

      • Well, I checked and the number of approved comments it checks for is hardcoded and there is no filter to alter it. Maybe it’s worth a trac ticket asking for a filter. But perhaps it would be better for the setting to be changed so the user can enter the number of comments that must have been approved, rather than a simple yes | no for one comment to have been approved.

        • Hey. I just noticed that FV Thoughtful Comments has pulled this off. You can configure it to auto-approve comments if the user has X number of approved comments in the past.

          I did some quick testing and it is not compatible with Epoch out of the box, and I didn’t evaluate what kind of nutty queries might be involved. But. Interesting and worth a look perhaps.


          • Yeah, I thought of way to do this last night (by hooking into comment being posted and querying DB myself, instead of filtering core’s query). Here is some proof of concept code that does it:

            This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
            Learn more about bidirectional Unicode characters

            function filter_handler( $approved , $commentdata ) {
            // get the comment author name and email and check how many comments that person has approved.
            global $wpdb;
            $author = $commentdata[ 'comment_author' ];
            $email = $commentdata[ 'comment_author_email' ];
            $comments_approved = $wpdb->get_var( "SELECT COUNT(comment_approved) FROM $wpdb->comments WHERE comment_author = '$author' AND comment_author_email = '$email' and comment_approved = '1' LIMIT 1" );
            // if the author already has more than 5 comments approved, set this to approved, otherwise set as pending
            if ( 5 < $comments_approved ) {
            $approved = 1;
            else {
            $approved = 0;
            // return the approved value
            return $approved;
            add_filter( 'pre_comment_approved' , 'filter_handler' , '99', 2 );

            The 5 (previous comments approved) is hard coded here, but if people are interested I could turn it into a plugin and make it a setting.

            And if you want to add it Epoch in any fashion whatsoever, feel free! :)

            • Hi – just an update. I had a really busy week and didn’t make much progress on this, but am aiming for next week.

              First pass will be to allow users to set the number of approved comments that are needed before auto approving. After that, I’ll look at hooking into some other plugins that allow comments to be flagged or commentators put on probation (if there is any demand for that).

              The idea would be that my plugin would pick up the signals of the other plugins and use that when deciding whether a comment should be moderated.

              For example, I found a plugin that allows people to flag comments and then adjusts the comment_karma field in the db. It would be possible to auto approve comments for authors who have had more than 5 comments (set by user) previously approved, unless they have comments with bad karma, etc, in which they’d have to be moderated. That would give a more complete solution, but the question is whether anyone is interested?

              Another plugin I’ve been looking at tonight is Comment Probation which allows you to put a particular commentator on probation. It’s more than 2 years old, but is written by Andrew Nacin and is on the list of plugins available on WordPress.com VIP, so must be solid. It uses the same hook I’m using to prevent comments being moderated, so I just need to make sure they play nicely together.

              Incidentally Mika Epstein mentioned Comment Probation today along with some other interesting solutions. Lots happening in this space!

      • Ha, I hear you!

        I’m not a coder, but I wonder if there’s a shortcode or some script that can be added to the “Before a comment appears” option in the Discussions setting, that ups the number from a single comment to your preferred choice, before a comment is approved automatically?

  3. Blog commenting moderation is a headache only for those popular blogs having more than 10 comments per article published I supposed, but for most of us starting bloggers, its not a problem. I see some blogs where the commenting section is closed and I usually stay away from those kind of sites.

    • Sorry, I don’t agree with that. I often get anywhere from 20-60 comments on a post (sometimes in the hundreds), and I don’t manually approve, they’re all approved and I moderate after.

      I rarely have an issue with spam, as I use an excellent plugin that counters almost all scripts, and the comments that do get through, I simply block the user. Moderation is only a pain if you let it be.

  4. Jeff, it seems you changed your comment system on front.

    It’s no longer possible to access a specific comment by its permalink. I have to go to the address bar an click enter after the page and comments are loaded.

    It seems comments are loaded into the page after the page is loaded, using javascript. This doesn’t play with comment permalinks, that points to bookmarks (indicated after a # in the url) and automatically scrolls to get the desired comment into view, as we are used to.

    It breaks WordPress’ comment permalink system completely. I either use the comments RSS feed or the # link in the “Recent comments” widget.

  5. Glad to see people working on the comment moderation issue, I’d like to suggest a few more tweaks that would make things a bit easier for wp installs that deal with lots of comments, it may be easy to add these things into the projects being discussed here.

    The wp settings for “if comment has X number of links” hold for moderation – I’d love some options for keeping that setting yet allow some overrides – perhaps by user level, but maybe by amount of approved comments – and it would be nice to allow some commenters to bypass akismet as well.

    I use comments on some pages for ongoing conversations with a few moderators – sometimes they need to post something that has a dozen links in it, and it would be nice if the hold for moderation with comments having more then X (is it 2 by default?) – could be bypassed by my non-logged in users who already have 20+ (or backend select-able amount of) approved comments.

    A couple of my moderators are in different countries that get dynamic ip addys – and often times some of their important posts (err comments) get flagged by akistmet and stuck in the tab I will never see… it would be nice if I could set their email addy, or amount of approved comments to be an indicator to skip akisment completely.

    Not sure if these things are already possible in some way, but it would be super helpful I think for others as well.

    I imagine there may be methods to deal with these two issues if a user is logged in and has a user role (?) – and my moderators do that sometimes.. but on other pages we just use a basic password protected page that only the mods have access to so spam is not an issue on those pages, or with those commenters.

    I can certainly relate to the issue that Jeff is describing in this post – it’s something I deal with on a regular basis and would love to see more enhanced options for making the comment moderation better.

  6. I love the idea of having a button / icon / text that people could click to “flag for moderation”- glad to see people think about ” It could have an option that allows me to set the number of flags needed to send an approved comment to moderation.”

    Would be even more awesome if such a thing could take into consideration if a user was logged in (And super awesome if it could have options for giving weight to logged in user levels, either editor / subscriber – or s2member type levels, and the new buddypress user levels)

    for my usage – on wp site “a” – 3 different non-logged-in-users (from different ip addys) click flag- then unpublish, put in moderation que and send email to admin.

    if logged in and role >=contributor then 1 click send to..
    if logged role=subscriber – 2 clicks..

    This is something we have needed more with our buddypress installs than anything – and a discussion we had a while back put some code out there and got a discussion going around what kind of admin options, front end stuff, etc could / should go into something like this for bp.. the code linked to in the first comment here:
    may have most of this kind of code that is needed.

    If someone does code up something like this, I hope we can adapt to use with buddypress activity updates / group posts /etc.. I’m sure the bbpress people could use something like this as well (they may have something like it, but I gave up on bbpress couple versions agp, so knowledge is limited)

  7. Hi All,

    I’ve released a new version of Show Parent Comments, with the following changes:

    * Bug fix: Prevented the plugin from firing during Ajax requests, as we don’t want the parent comment added then (for example when user edits their comment on the front end via Ajax).
    * Enhancement: Simplified the introduction to the parent comment, removing author name and edit link.
    * Enhancement: Tweaked the background colour of the parent comment.
    * Enhancement: Slightly increased the size of the Show More link.

    I am fairly confident that Jeff is going to hate the new background colour as much as he hated the old one!


Subscribe Via Email

Enter your email address to subscribe to this blog and receive notifications of new posts by email.

%d bloggers like this: