=== Replai Disable Comments & Stop Spam ===
Contributors: replai
Tags: disable comments, remove comments, stop spam, comments, spam protection
Requires at least: 6.2
Tested up to: 7.1
Requires PHP: 7.2
Stable tag: 1.0.9
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Disable comments everywhere or per post type, clean the admin, block spam via XML-RPC & REST, remove pingbacks, and bulk-delete comments.

== Description ==

**Replai Comments** gives you full control over WordPress comments and stops comment spam — from its own admin section.

Turn it on and choose where to disable comments:

* **Everywhere** on the site, or
* **Only on specific post types** (posts, pages, media or your custom post types).

While active, Replai Comments:

* **Closes comments and trackbacks** and removes comment support from the selected content.
* **Hides existing comments** on the front-end (optional), and swaps the theme's comment template for an empty one so no "comments are closed" message shows.
* **Cleans the admin** — hides the Comments menu and admin-bar bubble, the "Recent Comments" dashboard widget, the comments list column and the Discussion settings page.
* **Blocks spam at the source** — disables comments sent through **XML-RPC** and the **REST API**.
* **Removes pingbacks & feeds** — strips the `X-Pingback` header, disables outgoing pingbacks and comment RSS/Atom feeds.

**Live status**

A real-time panel tells you whether comments are actually open on the **web** and via the **REST API**, whether XML-RPC pingback and the X-Pingback header are removed, and — when comments are closed — **why** (by Replai Comments or by WordPress's Discussion settings / the post itself). Re-check any time.

**Cache-aware and editor-safe**

When you save settings or delete comments, Replai Comments **purges common page caches** (WP Rocket, LiteSpeed, W3 Total Cache, WP Super Cache, WP Fastest Cache, SG Optimizer, Cache Enabler) so a cached page never keeps serving the comment form. It also leaves the block editor **"Notes"** comment type (WordPress 6.9+) untouched.

**Bulk delete tool**

Clean your database with one click: permanently delete **all** comments, or only **pending**, **spam** or **pingbacks/trackbacks**, processed in batches with live counters.

Everything runs on your own site, is fully reversible (turn the plugin off to bring comments back), and the whole admin is available in **7 languages** (English, Spanish, Catalan, French, Italian, Portuguese and German) based on your site language.

For developers: define `REPLAI_DC_KEEP_TEMPLATE` (true) to keep your theme's comment template, or `REPLAI_DC_KEEP_DISCUSSION` (true) to keep the Discussion settings page.

== Installation ==

1. Upload the **replai-disable-comments** folder to `/wp-content/plugins/`, or install it from the WordPress plugin directory.
2. Activate the plugin.
3. Open the **Replai Comments** menu, enable it, choose the scope and save.

== Frequently Asked Questions ==

= I disabled comments but the form still shows. Why? =
Some themes don't check the comment status correctly. Replai Comments also swaps the comment template for an empty one; if a message still appears, your theme is hard-coding it and you may need to edit the theme.

= Does it delete my comments? =
Only if you use the **Delete comments** tool. Disabling comments hides/closes them but does not remove them from the database.

= Can I bring comments back? =
Yes. Turn the plugin off (or disable it in settings) and WordPress comments work again. Deleted comments, however, cannot be recovered.

= Does it stop spam sent via XML-RPC or the REST API? =
Yes. It blocks comment creation through XML-RPC and the REST API, and removes pingback methods.

= The comment form still shows after disabling — is it a cache? =
Often, yes. Replai Comments clears the common page-cache plugins when you save or delete, but if you use another cache or a CDN, purge it once. The Live status panel checks the real state so you can confirm.

= Does it affect the block editor "Notes" (WordPress 6.9+)? =
No. The editor "Notes" comment type is excluded from both the API block and the bulk delete, so collaboration notes keep working.

= Does it call any external service? =
No. Everything runs locally on your site.

== Screenshots ==

1. General configuration: enable the plugin, choose where to disable comments (everywhere or specific post types) and fine-tune what to remove, alongside the live status panel showing comments closed on the web, blocked via the REST API and pingbacks/X-Pingback removed.

== Changelog ==

= 1.0.9 =
* The plugin description in the Plugins list now follows your site language (7 languages), like the rest of the admin.

= 1.0.8 =
* Tested and compatible with WordPress 7.1.

= 1.0.7 =
* Code standards: sanitize post-type input, drop suppress_filters in status queries, and annotate the core/third-party hooks used for live status and cache purging (PHPCS / VIP).

= 1.0.6 =
* New: purges common page caches (WP Rocket, LiteSpeed, W3TC, WP Super Cache, WP Fastest Cache, SG Optimizer, Cache Enabler) when settings are saved or comments are deleted.
* New: excludes the block editor "Notes" comment type (WordPress 6.9+) from the API block and bulk delete.

= 1.0.5 =
* UI: moved the Re-check button to the Live status panel and removed the Open link from the toggle header.

= 1.0.4 =
* UI: the admin is now split into two tabs — General configuration and Delete comments — using the native WordPress tab style.

= 1.0.3 =
* Live status now explains why web comments are closed: by Replai Comments or by WordPress (Discussion settings or the post itself).

= 1.0.2 =
* UI: settings reorganised into General configuration (with the live status shown in a right column) and a separate Delete comments section.

= 1.0.1 =
* New: real-time status panel showing whether comments are open on the web, via REST API, XML-RPC pingback and the X-Pingback header, with a Re-check button.
* New: enable switch redesigned to match the Replai family (toggle + status pill + Open + Re-check).
* Hardening: sanitize post-type input and remove interpolated SQL in the delete tool (PHPCS).

= 1.0.0 =
* Initial release: disable comments everywhere or per post type; hide existing comments; clean the admin (menus, admin bar, dashboard widget, list column, Discussion page); block comments via XML-RPC and REST API; remove X-Pingback, outgoing pingbacks and comment feeds; bulk-delete comments (all, pending, spam, pingbacks); multilingual admin.

== Upgrade Notice ==

= 1.0.9 =
Multilingual plugin description in the Plugins list.

= 1.0.8 =
Compatible with WordPress 7.1.

= 1.0.7 =
Code-standards fixes (PHPCS / VIP).

= 1.0.6 =
Cache purge on save/delete and block-editor Notes are left untouched.

= 1.0.5 =
Cleaner toggle header; Re-check now lives in the Live status panel.

= 1.0.4 =
Settings split into General and Delete tabs.

= 1.0.3 =
Live status shows why comments are closed (plugin vs WordPress).

= 1.0.2 =
Reorganised settings with live status in a side column.

= 1.0.1 =
Real-time comment-availability status (web & API) and a polished toggle.

= 1.0.0 =
Initial release.
