Title: Safe Report Comments
Author: Automattic
Published: <strong>May 14, 2010</strong>
Last modified: August 20, 2026

---

Search plugins

![](https://s.w.org/plugins/geopattern-icon/safe-report-comments.svg)

# Safe Report Comments

 By [Automattic](https://profiles.wordpress.org/automattic/)

[Download](https://downloads.wordpress.org/plugin/safe-report-comments.0.5.0.zip)

 * [Details](https://mri.wordpress.org/plugins/safe-report-comments/#description)
 * [Reviews](https://mri.wordpress.org/plugins/safe-report-comments/#reviews)
 *  [Installation](https://mri.wordpress.org/plugins/safe-report-comments/#installation)
 * [Development](https://mri.wordpress.org/plugins/safe-report-comments/#developers)

 [Support](https://wordpress.org/support/plugin/safe-report-comments/)

## Description

This plugin gives your visitors the possibility to report a comment as inappropriate.
After a set threshold is reached the comment is put into moderation where the moderator
can decide whether to approve it. If a comment is approved by a moderator it will
not be auto-moderated again while still counting the amount of reports.

### Customizations

By default this plugin should work with most existing themes without any changes.
It appends the flagging link to each comment and then, in the browser, moves it 
next to that comment’s reply link. The reply link is located via its core `data-
commentid` attribute, so placement does not depend on your theme’s specific markup.

The report link ships unstyled and inherits your theme’s link styles from wherever
it appears, so it can look different next to a reply link than at the end of a comment(
the deepest threading level, which has no reply link). To adjust or unify its appearance,
target the `.safe-comments-report-link` class in your theme’s CSS.

If you would rather control the placement yourself, you can place the flagging link
manually. Define `no_autostart_safe_report_comments` in your theme’s `functions.
php` file and initialize the class with auto-attachment disabled: `$safe_report_comments
= new Safe_Report_Comments( false );`.

Here is an example of a custom setup in `functions.php` that places the flagging
link via a comment callback function.

In `functions.php`:

    ```
    // Flag comments plugin included in theme's functions.php - disable plugin.
    define( 'no_autostart_safe_report_comments', true );
    include_once( 'replace-with-path-to/safe-report-comments/safe-report-comments.php' );
    // Make sure not to auto-attach to the comment reply link.
    $safe_report_comments = new Safe_Report_Comments( false );

    // Change link layout to have a pipe prepended.
    add_filter( 'safe_report_comments_flagging_link', 'adjust_flagging_link' );
    function adjust_flagging_link( $link ) {
        return ' | ' . $link;
    }

    // Adjust the text to "Report abuse" rather than "Report comment".
    add_filter( 'safe_report_comments_flagging_link_text', 'adjust_flagging_text' );
    function adjust_flagging_text( $text ) {
        return 'Report abuse';
    }
    ```

In your custom comment callback function used by [`wp_list_comments`](https://developer.wordpress.org/reference/functions/wp_list_comments/),
place the following action, which prints the link:

    ```
    <?php do_action( 'comment_report_abuse_link' ); ?>
    ```

A possible callback function could look like this:

    ```
    function mytheme_comment( $comment, $args, $depth ) {
        $GLOBALS['comment'] = $comment; ?>
        <li <?php comment_class(); ?> id="li-comment-<?php comment_ID() ?>">
            <div id="comment-<?php comment_ID(); ?>">
                <div class="comment-author vcard">
                    <?php echo get_avatar( $comment, $size = '48', $default = '<path_to_url>' ); ?>
                    <?php printf( __( '<cite class="fn">%s</cite> <span class="says">says:</span>' ), get_comment_author_link() ) ?>
                </div>
                <?php if ( $comment->comment_approved == '0' ) : ?>
                <em><?php _e( 'Your comment is awaiting moderation.' ) ?></em>
                <br />
            <?php endif; ?>
            <div class="comment-meta commentmetadata"><a href="<?php echo htmlspecialchars( get_comment_link( $comment->comment_ID ) ) ?>"><?php printf( __( '%1$s at %2$s' ), get_comment_date(), get_comment_time() ) ?></a><?php edit_comment_link( __( '(Edit)' ), '     ', '' ) ?></div>

            <?php comment_text() ?>

            <div class="reply">
                <?php comment_reply_link( array_merge( $args, array( 'depth' => $depth, 'max_depth' => $args['max_depth'] ) ) ) ?>
            </div>
            <div class="report-abuse">
                <?php do_action( 'comment_report_abuse_link' ); ?>
            </div>
        </div>
        <?php
    }
    ```

There are various other actions and filters within the plugin that allow you to 
alter its behaviour. Please see the inline documentation for details.

### Notes

At the maximum threading depth WordPress does not render a reply link, so in automatic
mode the flagging link stays at the end of the comment rather than moving next to
a reply link. The link still works as normal. Earlier versions attached to the reply
link itself and so showed no flagging link at all at this depth.

## Screenshots

[[

[[

[[

[[

## Installation

 1. Download and unzip the plugin.
 2. Copy the `safe-report-comments` directory into your plugins folder.
 3. Visit your Plugins page and activate the plugin.
 4. A new checkbox called “Allow comment flagging” will appear on the **Settings  Discussion**
    page.
 5. Activate the flag and set the threshold value, which appears on the same page once
    flagging is enabled.

## Reviews

![](https://secure.gravatar.com/avatar/dcb83626e84e270fface1053566f43e3632414475607a7d30647997f3409a5bb?
s=60&d=retro&r=g)

### 󠀁[Please update the plugin](https://wordpress.org/support/topic/please-update-the-plugin-10/)󠁿

 [conleywilliam32](https://profiles.wordpress.org/conleywilliam32/) May 16, 2018

Hi Gosh, I not able to make it work at all. If you are not contributing to this 
plugin. Mention it on the plugin page!

![](https://secure.gravatar.com/avatar/d49c6f2c9c97d616e262c19b80ac95ce47ae471ef39684a0bdccdeacd35011c2?
s=60&d=retro&r=g)

### 󠀁[Doesn't work](https://wordpress.org/support/topic/doesnt-work-1331/)󠁿

 [Boston Tom](https://profiles.wordpress.org/tneveu/) September 3, 2016

It may work with the lousy WordPress templates you get for free when you install
WordPress, but since most people use third-party templates, this falls short. After
installing and turning it on, doing the settings, it simply wouldn’t show up on 
the front-end. I looked at the page’s source code, and the js and what-not was there
just not anyway to flag the comment. I”ve tried a lot of plugins that purport to
do this, and they all fail except for Frontend Comment Moderation. That works but
it doesn’t send an email to notify you a comment has been flagged. Sigh.

![](https://secure.gravatar.com/avatar/9ade5fa51604dc1a6c915e06d9cbc5686c09031903777b6b72f3730418848aac?
s=60&d=retro&r=g)

### 󠀁[Very good plugin but the position is bad](https://wordpress.org/support/topic/very-good-plugin-but-the-position-is-bad/)󠁿

 [forforce](https://profiles.wordpress.org/forforce/) February 8, 2017

I need this plugin but I want to change the position so I can use it. I still want
it to be on the same line with the reply button but to be in the right side, not
near the Reply button. Can you help me with this ? Thank you.

 [ Read all 7 reviews ](https://wordpress.org/support/plugin/safe-report-comments/reviews/)

## Contributors & Developers

“Safe Report Comments” is open source software. The following people have contributed
to this plugin.

Contributors

 *   [ Automattic ](https://profiles.wordpress.org/automattic/)
 *   [ Thorsten Ott ](https://profiles.wordpress.org/tott/)
 *   [ Daniel Bachhuber ](https://profiles.wordpress.org/danielbachhuber/)
 *   [ Gary Jones ](https://profiles.wordpress.org/garyj/)

[Translate “Safe Report Comments” into your language.](https://translate.wordpress.org/projects/wp-plugins/safe-report-comments)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/safe-report-comments/),
check out the [SVN repository](https://plugins.svn.wordpress.org/safe-report-comments/),
or subscribe to the [development log](https://plugins.trac.wordpress.org/log/safe-report-comments/)
by [RSS](https://plugins.trac.wordpress.org/log/safe-report-comments/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

The full changelog is maintained in [CHANGELOG.md](https://github.com/Automattic/safe-report-comments/blob/develop/CHANGELOG.md).

## Meta

 *  Version **0.5.0**
 *  Last updated **9 hours ago**
 *  Active installations **200+**
 *  WordPress version ** 6.4 or higher **
 *  Tested up to **7.0.4**
 *  PHP version ** 7.4 or higher **
 *  Language
 * [English (US)](https://wordpress.org/plugins/safe-report-comments/)
 * Tags
 * [comments](https://mri.wordpress.org/plugins/tags/comments/)[flagging](https://mri.wordpress.org/plugins/tags/flagging/)
   [inappropriate](https://mri.wordpress.org/plugins/tags/inappropriate/)[report comments](https://mri.wordpress.org/plugins/tags/report-comments/)
   [spam](https://mri.wordpress.org/plugins/tags/spam/)
 *  [Advanced View](https://mri.wordpress.org/plugins/safe-report-comments/advanced/)

## Ratings

 3 out of 5 stars.

 *  [  3 5-star reviews     ](https://wordpress.org/support/plugin/safe-report-comments/reviews/?filter=5)
 *  [  0 4-star reviews     ](https://wordpress.org/support/plugin/safe-report-comments/reviews/?filter=4)
 *  [  1 3-star review     ](https://wordpress.org/support/plugin/safe-report-comments/reviews/?filter=3)
 *  [  0 2-star reviews     ](https://wordpress.org/support/plugin/safe-report-comments/reviews/?filter=2)
 *  [  3 1-star reviews     ](https://wordpress.org/support/plugin/safe-report-comments/reviews/?filter=1)

[Your review](https://wordpress.org/support/plugin/safe-report-comments/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/safe-report-comments/reviews/)

## Contributors

 *   [ Automattic ](https://profiles.wordpress.org/automattic/)
 *   [ Thorsten Ott ](https://profiles.wordpress.org/tott/)
 *   [ Daniel Bachhuber ](https://profiles.wordpress.org/danielbachhuber/)
 *   [ Gary Jones ](https://profiles.wordpress.org/garyj/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/safe-report-comments/)