{"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-04-03T21:37:38","modified_gmt":"2026-04-03T21:37:38","slug":"some-plus-report-post","status":"publish","type":"plugin","link":"https:\/\/pcd.wordpress.org\/plugins\/some-plus-report-post\/","author":23411879,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"1.6.0","stable_tag":"1.6.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-04-03 21:37:38","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":303,"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"},"1.6.0":{"tag":"1.6.0","author":"someplus","date":"2026-04-03 21:37:38"}},"upgrade_notice":{"1.6.0":"<p>Adds optional Cloudflare Turnstile and Google reCAPTCHA protection for guest report submissions. No database changes are required.<\/p>","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","1.6.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 plus optional Cloudflare Turnstile or Google reCAPTCHA for guest reports<\/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>If optional captcha protection is enabled, captcha verification tokens and the visitor IP address may be sent to Cloudflare Turnstile or Google reCAPTCHA for verification. If captcha is disabled, no report 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>Optionally enable <strong>Captcha \/ Spam Protection<\/strong> for guest reports<\/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, a honeypot field, and optional Cloudflare Turnstile \/ Google reCAPTCHA support for guest reports.<\/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.6.0<\/h4>\n\n<ul>\n<li>Added optional Cloudflare Turnstile support for guest report submissions<\/li>\n<li>Added optional Google reCAPTCHA v2 checkbox support for guest report submissions<\/li>\n<li>Added optional Google reCAPTCHA v3 invisible support with configurable score threshold<\/li>\n<li>Added new Captcha \/ Spam Protection settings section<\/li>\n<li>Added server-side captcha verification before saving guest reports<\/li>\n<li>Updated privacy documentation for optional third-party captcha providers<\/li>\n<\/ul>\n\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:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/265374","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=265374"}],"author":[{"embeddable":true,"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/someplus"}],"wp:attachment":[{"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=265374"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=265374"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=265374"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=265374"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=265374"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=265374"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}