Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/automattic/safe-report-comments

This plugin gives your visitors the possibility to report a comment as inappropriate.
https://github.com/automattic/safe-report-comments

comments wordpress wordpress-plugin wpvip-plugin

Last synced: 3 months ago
JSON representation

This plugin gives your visitors the possibility to report a comment as inappropriate.

Awesome Lists containing this project

README

        

[![Run PHPUnit and PHPCS](https://github.com/Automattic/safe-report-comments/actions/workflows/integrate.yml/badge.svg)](https://github.com/Automattic/safe-report-comments/actions/workflows/integrate.yml)

# Safe Report Comments

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 or not he want to approve the comment or not. If a comment is approved by a moderator it will not be auto-moderated again while still counting the amount of reports.

## 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 in the Settings->Discussion page.
5. Activate the flag and set the threshold value which will appear on the same page after activation

## Screenshots

![Simple activation via discussion settings](screenshot-1.png)

![Amount of reports per comment is shown in comments administration screen](screenshot-2.png)

![Fits well within most themes without any further action.](screenshot-3.png)

![Ajax feedback right in place where available.](screenshot-4.png)

## Changelog

### 0.4.1 (July 23, 2014)

* Typo fix, props spencermorin

### 0.4 (July 23, 2014)

* Security fix, h/t vortfu

### 0.3.2 (Mar. 6, 2013)
* New 'safe_report_comments_allow_moderated_to_be_reflagged' filter allows comments to be reflagged after being moderated.

### 0.3.1 (Nov. 21, 2012)
* Use home_url() for generating the ajaxurl on mapped domains, but admin_url() where the domain isn't mapped.

### 0.3 (Nov. 7, 2012)
* Coding standards and cleanup

## Customizations

By default this script should hook in just fine in most existing themes as it attaches itsself after the comment-reply link via the comment_reply_link filter.
In case this does not work out you can place the flagging link manually by defining no_autostart_safe_report_comments in your themes' functions.php file and initializing the class via `$safe_report_comments = new Safe_Report_Comments(false);`.

Here is an example of a custom setup via `functions.php` and placing the link comments callback function.

In `functions.php`:

```
//flag comments plugin included in themes' 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 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`: [http://codex.wordpress.org/Template_Tags/wp_list_comments](http://codex.wordpress.org/Template_Tags/wp_list_comments) place the following action which will print the link.

``

A possible callback function could look like this:

```
function mytheme_comment($comment, $args, $depth) {
$GLOBALS['comment'] = $comment; ?>

  • id="li-comment-">


    ' ); ?>
    %s says:'), get_comment_author_link()) ?>

    comment_approved == '0') : ?>





    $depth, 'max_depth' => $args['max_depth']))) ?>