{"id":265374,"date":"2026-01-05T21:13:28","date_gmt":"2026-01-05T21:13:28","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/content-report\/"},"modified":"2026-02-27T23:02:17","modified_gmt":"2026-02-27T23:02:17","slug":"some-plus-report-post","status":"publish","type":"plugin","link":"https:\/\/kea.wordpress.org\/plugins\/some-plus-report-post\/","author":23411879,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"1.5.0","stable_tag":"1.5.0","tested":"6.9.4","requires":"5.0","requires_php":"7.4","requires_plugins":null,"header_name":"Some Plus Report Post","header_author":"Some Plus","header_description":"Allow users to report inappropriate content. Admins can review and manage reported posts from the dashboard.","assets_banners_color":"d3cac1","last_updated":"2026-02-27 23:02:17","external_support_url":"","external_repository_url":"","donate_link":"https:\/\/buymeacoffee.com\/yavuzyildirim","header_plugin_uri":"","header_author_uri":"https:\/\/someplus.work","rating":5,"author_block_rating":0,"active_installs":0,"downloads":279,"num_ratings":1,"support_threads":2,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"someplus","date":"2026-01-05 21:39:37"},"1.1.0":{"tag":"1.1.0","author":"someplus","date":"2026-02-21 13:59:17"},"1.1.1":{"tag":"1.1.1","author":"someplus","date":"2026-02-22 14:31:14"},"1.1.2":{"tag":"1.1.2","author":"someplus","date":"2026-02-22 14:35:55"},"1.5.0":{"tag":"1.5.0","author":"someplus","date":"2026-02-27 23:02:17"}},"upgrade_notice":{"1.5.0":"<p>Major update. Adds comment reporting, email notifications, threshold automation, CSV export, honeypot protection, and advanced filtering. The database table is updated automatically on first load \u2014 no manual action required.<\/p>","1.0.0":"<p>Initial release of Some Plus Report Post plugin.<\/p>"},"ratings":{"1":0,"2":0,"3":0,"4":0,"5":1},"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3433084,"resolution":"128x128","location":"assets","locale":""},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3433084,"resolution":"256x256","location":"assets","locale":""}},"assets_banners":{"banner-772x250.png":{"filename":"banner-772x250.png","revision":3491497,"resolution":"772x250","location":"assets","locale":""}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0","1.1.0","1.1.1","1.1.2","1.5.0"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3433084,"resolution":"1","location":"assets","locale":""}},"screenshots":{"1":"Report button displayed after post content","2":"Report modal with reason selection","3":"Admin reports list with statistics and filters","4":"Plugin settings page \u2014 General Settings","5":"Plugin settings page \u2014 Notifications &amp; Automation","6":"Customizable report reasons","7":"Report detail modal"},"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[213628,253366,915,599,253367],"plugin_category":[54],"plugin_contributors":[253368],"plugin_business_model":[],"class_list":["post-265374","plugin","type-plugin","status-publish","hentry","plugin_tags-content-moderation","plugin_tags-inappropriate-content","plugin_tags-report","plugin_tags-spam","plugin_tags-user-reports","plugin_category-security-and-spam-protection","plugin_contributors-someplus","plugin_committers-someplus"],"banners":{"banner":"https:\/\/ps.w.org\/some-plus-report-post\/assets\/banner-772x250.png?rev=3491497","banner_2x":false,"banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/some-plus-report-post\/assets\/icon-128x128.png?rev=3433084","icon_2x":"https:\/\/ps.w.org\/some-plus-report-post\/assets\/icon-256x256.png?rev=3433084","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/some-plus-report-post\/assets\/screenshot-1.png?rev=3433084","caption":"Report button displayed after post content"}],"raw_content":"<!--section=description-->\n<p>Some Plus Report Post is a powerful and easy-to-use plugin that allows your website visitors to report inappropriate, spam, or policy-violating content \u2014 including individual comments. Site administrators can review reports, receive email notifications, and automatically take action when reports exceed a threshold.<\/p>\n\n<h4>Key Features<\/h4>\n\n<ul>\n<li><strong>User Reporting<\/strong>: Visitors can report content with customizable reasons<\/li>\n<li><strong>Comment Reporting<\/strong>: Visitors can report individual comments, not just posts<\/li>\n<li><strong>Admin Dashboard<\/strong>: Comprehensive reports management interface with stats<\/li>\n<li><strong>Admin Notifications<\/strong>: Receive an email every time a new report is submitted<\/li>\n<li><strong>Threshold Actions<\/strong>: Automatically unpublish or trash a post when report count exceeds a limit<\/li>\n<li><strong>Customizable Reasons<\/strong>: Define your own report reasons<\/li>\n<li><strong>Post Type Support<\/strong>: Enable reporting for any public post type<\/li>\n<li><strong>Rate Limiting<\/strong>: Prevent spam reports with built-in rate limiting<\/li>\n<li><strong>Guest Reporting<\/strong>: Optionally allow non-logged-in users to report<\/li>\n<li><strong>Spam Protection<\/strong>: Built-in honeypot blocks automated form submissions<\/li>\n<li><strong>Privacy Notice<\/strong>: Show a GDPR-friendly notice inside the report modal<\/li>\n<li><strong>Data Retention<\/strong>: Automatically delete old reports after a configurable number of days<\/li>\n<li><strong>CSV Export<\/strong>: Download all reports as a spreadsheet<\/li>\n<li><strong>Shortcode Support<\/strong>: Place report buttons anywhere with <code>[sprp_report]<\/code><\/li>\n<li><strong>Auto-Append<\/strong>: Automatically add report buttons to post content<\/li>\n<li><strong>Advanced Filtering<\/strong>: Filter reports by post type, status, item type, reason, and date range<\/li>\n<li><strong>AJAX Submission<\/strong>: Smooth, no-refresh reporting experience<\/li>\n<li><strong>Accessible<\/strong>: WCAG 2.1 compliant modal with focus trap and keyboard navigation<\/li>\n<li><strong>Translation Ready<\/strong>: Fully internationalized<\/li>\n<\/ul>\n\n<h4>How It Works<\/h4>\n\n<ol>\n<li>Install and activate the plugin<\/li>\n<li>Configure settings under <strong>Reports \u2192 Settings<\/strong><\/li>\n<li>Choose which post types should have reporting enabled<\/li>\n<li>Customize report reasons (or use the built-in defaults)<\/li>\n<li>Visitors can now report content and comments using the report button<\/li>\n<li>Review and filter reports under <strong>Reports<\/strong><\/li>\n<li>Take action: delete, unpublish, dismiss, or let the threshold automation handle it<\/li>\n<\/ol>\n\n<h4>Shortcode Usage<\/h4>\n\n<p>Display the report button anywhere:<\/p>\n\n<pre><code>[sprp_report]\n<\/code><\/pre>\n\n<p>Target a specific post:<\/p>\n\n<pre><code>[sprp_report post_id=\"123\"]\n<\/code><\/pre>\n\n<p>Add a custom CSS class to the button:<\/p>\n\n<pre><code>[sprp_report class=\"my-custom-class\"]\n<\/code><\/pre>\n\n<h4>For Developers<\/h4>\n\n<p>Some Plus Report Post is built with extensibility in mind:<\/p>\n\n<ul>\n<li>Action hook: <code>sprp_report_submitted( $report_id, $post_id, $reason_id, $reason_text )<\/code> \u2014 fires after a report is saved<\/li>\n<li>Clean, well-documented code following WordPress Coding Standards<\/li>\n<li>Namespace <code>SomePlusReportPost\\<\/code> with SPL autoloader<\/li>\n<li>All queries use <code>$wpdb-&gt;prepare()<\/code><\/li>\n<\/ul>\n\n<h3>Privacy Policy<\/h3>\n\n<p>Some Plus Report Post stores the following data:<\/p>\n\n<ul>\n<li><strong>For logged-in users<\/strong>: User ID and report details (post ID, reason, additional note, date)<\/li>\n<li><strong>For guests<\/strong>: IP address (for rate limiting) and report details<\/li>\n<\/ul>\n\n<p>No data is sent to external servers.<\/p>\n\n<p>To limit how long data is stored, use the <strong>Data Retention<\/strong> setting under Notifications &amp; Automation to automatically delete reports after a set number of days. All stored data is permanently deleted when the plugin is uninstalled.<\/p>\n\n<h3>Credits<\/h3>\n\n<ul>\n<li>Developed by <a href=\"https:\/\/someplus.work\">Some Plus<\/a><\/li>\n<li>Built with WordPress Coding Standards<\/li>\n<li>Icons from Feather Icons (MIT License)<\/li>\n<\/ul>\n\n<!--section=installation-->\n<h4>Automatic Installation<\/h4>\n\n<ol>\n<li>Go to <strong>Plugins \u2192 Add New<\/strong> in your WordPress admin<\/li>\n<li>Search for \"Some Plus Report Post\"<\/li>\n<li>Click \"Install Now\" and then \"Activate\"<\/li>\n<\/ol>\n\n<h4>Manual Installation<\/h4>\n\n<ol>\n<li>Download the plugin zip file<\/li>\n<li>Go to <strong>Plugins \u2192 Add New \u2192 Upload Plugin<\/strong><\/li>\n<li>Upload the zip file and click \"Install Now\"<\/li>\n<li>Activate the plugin<\/li>\n<\/ol>\n\n<h4>Configuration<\/h4>\n\n<ol>\n<li>Go to <strong>Reports \u2192 Settings<\/strong><\/li>\n<li>Select which post types should have reporting enabled<\/li>\n<li>Optionally enable <strong>Auto Append Report Button<\/strong> so the button appears automatically<\/li>\n<li>Customize report reasons as needed<\/li>\n<li>Set up email notifications and threshold actions under <strong>Notifications &amp; Automation<\/strong><\/li>\n<li>Save your settings<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"can%20guests%20report%20content%3F\"><h3>Can guests report content?<\/h3><\/dt>\n<dd><p>Yes, you can enable guest reporting in the settings. Guest reports are tracked by IP address for rate limiting purposes.<\/p><\/dd>\n<dt id=\"can%20visitors%20report%20comments%3F\"><h3>Can visitors report comments?<\/h3><\/dt>\n<dd><p>Yes. When comment reporting is active, a Report button appears below each approved comment automatically. Reports are tracked separately for posts and comments.<\/p><\/dd>\n<dt id=\"how%20do%20i%20customize%20the%20report%20reasons%3F\"><h3>How do I customize the report reasons?<\/h3><\/dt>\n<dd><p>Go to <strong>Reports \u2192 Settings<\/strong> and scroll to the \"Report Reasons\" section. Add, edit, or remove reasons as needed. If you save custom reasons, the default reasons are replaced entirely.<\/p><\/dd>\n<dt id=\"can%20i%20use%20this%20with%20custom%20post%20types%3F\"><h3>Can I use this with custom post types?<\/h3><\/dt>\n<dd><p>Yes. Any public post type registered on your site appears in the settings, and you can enable reporting for any of them.<\/p><\/dd>\n<dt id=\"how%20do%20i%20receive%20email%20notifications%20for%20new%20reports%3F\"><h3>How do I receive email notifications for new reports?<\/h3><\/dt>\n<dd><p>Go to <strong>Reports \u2192 Settings \u2192 Notifications &amp; Automation<\/strong>, enable <strong>Admin Email Notification<\/strong>, and enter the email address you want to notify.<\/p><\/dd>\n<dt id=\"what%20is%20the%20threshold%20action%3F\"><h3>What is the Threshold Action?<\/h3><\/dt>\n<dd><p>When the number of pending reports for a post reaches the configured count, the plugin can automatically: move the post to draft (Unpublish), send it to trash, or just send you an urgent email without touching the post. Each post only triggers this once.<\/p><\/dd>\n<dt id=\"how%20do%20i%20reset%20the%20threshold%20for%20a%20post%3F\"><h3>How do I reset the threshold for a post?<\/h3><\/dt>\n<dd><p>Delete the <code>_sprp_threshold_triggered<\/code> post meta from the post. You can do this under the post editor's Custom Fields panel, or via WP-CLI: <code>wp post meta delete &lt;post_id&gt; _sprp_threshold_triggered<\/code><\/p><\/dd>\n<dt id=\"is%20the%20plugin%20gdpr%20compliant%3F\"><h3>Is the plugin GDPR compliant?<\/h3><\/dt>\n<dd><p>The plugin stores IP addresses (for guest rate limiting) and report details. You should mention this in your privacy policy. Use the <strong>Data Retention<\/strong> setting to automatically delete old reports after a set number of days. All data is permanently removed when the plugin is uninstalled.<\/p>\n\n<p>You can also enable a <strong>Privacy Notice<\/strong> in settings to display a note inside the report form.<\/p><\/dd>\n<dt id=\"can%20i%20export%20reports%3F\"><h3>Can I export reports?<\/h3><\/dt>\n<dd><p>Yes. Click the <strong>Export CSV<\/strong> button on the Reports page to download a spreadsheet of all reports. The export respects the filters currently applied, so you can export only pending reports, or only reports from the last 30 days, etc.<\/p><\/dd>\n<dt id=\"can%20i%20style%20the%20report%20button%3F\"><h3>Can I style the report button?<\/h3><\/dt>\n<dd><p>Yes. The button uses the class <code>sprp-button<\/code> and the wrapper uses <code>sprp-wrapper<\/code>. Add CSS to your theme's stylesheet or via <strong>Appearance \u2192 Customize \u2192 Additional CSS<\/strong>.<\/p><\/dd>\n<dt id=\"how%20do%20i%20prevent%20spam%20reports%3F\"><h3>How do I prevent spam reports?<\/h3><\/dt>\n<dd><p>The plugin includes built-in rate limiting (configurable maximum reports per user or IP per 24 hours) and a honeypot field that silently blocks automated form submissions.<\/p><\/dd>\n<dt id=\"what%20happens%20when%20i%20deactivate%20the%20plugin%3F\"><h3>What happens when I deactivate the plugin?<\/h3><\/dt>\n<dd><p>Reports and settings are preserved. Only scheduled cleanup events and transient caches are cleared. Data is removed only when you permanently delete (uninstall) the plugin.<\/p><\/dd>\n<dt id=\"what%20happens%20when%20i%20uninstall%20the%20plugin%3F\"><h3>What happens when I uninstall the plugin?<\/h3><\/dt>\n<dd><p>The reports database table, all plugin options, and the admin capability are permanently removed. This cannot be undone.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.5.0<\/h4>\n\n<ul>\n<li>Added comment reporting \u2014 visitors can now report individual comments<\/li>\n<li>Added admin email notifications on new report submission<\/li>\n<li>Added threshold actions \u2014 automatically unpublish, trash, or get alerted when a post exceeds a report count<\/li>\n<li>Added data retention \u2014 automatically delete reports older than a configurable number of days<\/li>\n<li>Added privacy notice \u2014 optionally display a GDPR notice inside the report form<\/li>\n<li>Added CSV export \u2014 download all reports (with active filters applied) as a spreadsheet<\/li>\n<li>Added honeypot spam protection to the report form<\/li>\n<li>Added five report filters: Post Type, Report Status, Item Type, Reason, and Date Range<\/li>\n<li>Added \"Reported\" column to admin list (Post \/ Comment \/ Post + Comment)<\/li>\n<li>Added Notifications &amp; Automation settings section with eight new options<\/li>\n<li>Improved admin list table column layout and added white-space: nowrap to narrow columns<\/li>\n<li>Database table extended with item_type and comment_id columns (existing installs upgraded automatically)<\/li>\n<\/ul>\n\n<h4>1.1.2<\/h4>\n\n<ul>\n<li>Minor internal fixes<\/li>\n<\/ul>\n\n<h4>1.1.0<\/h4>\n\n<ul>\n<li>Internal update<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release<\/li>\n<li>User content reporting with customizable reasons<\/li>\n<li>Admin dashboard for managing reports<\/li>\n<li>Shortcode support<\/li>\n<li>Auto-append option for post types<\/li>\n<li>Rate limiting and spam protection<\/li>\n<li>Guest reporting option<\/li>\n<li>Full internationalization support<\/li>\n<\/ul>","raw_excerpt":"Allow users to report inappropriate content on your WordPress site. Admins can review, filter, and manage reports from a dedicated dashboard.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/kea.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/265374","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kea.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/kea.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/kea.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=265374"}],"author":[{"embeddable":true,"href":"https:\/\/kea.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/someplus"}],"wp:attachment":[{"href":"https:\/\/kea.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=265374"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/kea.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=265374"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/kea.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=265374"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/kea.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=265374"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/kea.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=265374"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/kea.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=265374"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}