=== KingWeb Testimonials Manager ===
Contributors: thekingweb
Tags: testimonials, reviews, ratings, customer reviews, star rating
Requires at least: 5.8
Tested up to: 7.0
Requires PHP: 7.4
Stable tag: 4.2.0
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Collect, moderate, and display customer testimonials with star ratings, avatars, Elementor/Gutenberg builders, analytics, and SEO schema.

== Description ==

KingWeb Testimonials Manager is a complete testimonials system for WordPress. Collect testimonials through a public submission form, moderate them in the admin, respond publicly, and display them as a grid, carousel, top-rated list, or a single embedded testimonial — via shortcodes, an Elementor widget, or a Gutenberg block.

**Highlights**

* Public submission form with star rating, optional photo (Media Library), and company.
* Moderation: approve / reject / delete, bulk actions, public admin responses, CSV export.
* Display modes: grid (with filters + search), carousel, top-rated, and single embed.
* Builders: "Custom Testimonials" Elementor widget and a native Gutenberg block — pick a Display Type, no shortcode required.
* Analytics dashboard: trends, status breakdown, rating distribution, response rate, and more.
* Editable, white-label emails (thank-you, admin notification, response) with branding controls.
* SEO: Schema.org review + aggregateRating JSON-LD.
* GDPR: consent capture, WordPress export/erase integration, data-retention notice.
* Spam protection: honeypot, per-IP rate limit, optional reCAPTCHA v3.

== Installation ==

1. Upload the plugin folder to `/wp-content/plugins/` (or install via the Plugins screen).
2. Activate it through the "Plugins" menu in WordPress.
3. Create a page with the slug `testimonials` containing `[kwtm_testimonials]`.
4. Add `[kwtm_testimonial_form]` to any page to collect submissions.
5. Configure behavior under Testimonials → Settings.

== Frequently Asked Questions ==

= Do I need Elementor? =
No. All features work via shortcodes and the Gutenberg block. Elementor adds an optional widget.

= How do I show one specific testimonial? =
Use `[kwtm_single_testimonial id="16"]` (or `layout="card"`), or choose "Single" in the Elementor widget / Gutenberg block.

= Will Google show star ratings? =
The plugin outputs valid review schema. Google displays star rich results for Product/Service entities, not for self-collected Organization/LocalBusiness reviews.

= Can I customize the emails? =
Yes — edit subjects, HTML bodies, logo, accent color, and footer under Help & Tools → Emails.

== Screenshots ==

1. The testimonials grid on the front end.
2. The submission form.
3. Admin moderation list with bulk actions and CSV export.
4. The Analytics dashboard.
5. Help & Tools → Emails editor.
6. The Support diagnostics page.

== Changelog ==

= 4.2.0 =
* Renamed to "KingWeb Testimonials Manager" (new slug: kingweb-testimonials-manager).
* Removed the Custom CSS tool (WordPress.org does not permit arbitrary code entry).
* The email-footer credit is now off by default and opt-in.
* Documented the optional Google reCAPTCHA integration in the readme.
* Updated the bundled Chart.js to 4.5.1.
* Moved the admin menu to a lower, non-conflicting position.
* Inline admin scripts are now enqueued; internal classes, functions, options, hooks, shortcodes, and the block namespace use a distinctive prefix. Existing settings are migrated automatically; no testimonial data migration is required.

= 4.1.1 =
* Compliance: resolved all WordPress.org Plugin Check findings — output escaping, input sanitization/unslashing, safe redirects, i18n translator comments, and setting sanitize callbacks.
* Documented the plugin's custom-table queries as intentional direct queries (no behavior change).
* Removed the manual textdomain load (translations load automatically since WordPress 4.6).
* Tested up to WordPress 7.0.

= 4.1.0 =
* Renamed to "Testimonials & Reviews Suite".
* Bundled Chart.js and Swiper locally (no external CDN).
* Added an email-footer credit toggle.
* New: configurable "From Email" address for outgoing emails (Settings → Email & Links).
* Fixed: deleting a testimonial now also removes its uploaded avatar from the Media Library, including older submissions.
* Compliance and i18n hardening; tested up to WordPress 6.8.

= 4.0.0 =
* New: Analytics dashboard redesign with new metrics (status doughnut, trend deltas, response rate, content quality, busiest day, recent submissions).
* New: Support page with a copyable system diagnostics report and support/review links.
* New: `[kwtm_single_testimonial]` shortcode + "Single" display type in the Elementor widget and Gutenberg block.
* New: Editable, white-label email templates (subject + HTML body + branding) under Help & Tools → Emails.
* Improved: Unified admin design system; per-page headers; submenu order (Testimonials, Analytics, Settings, Help & Tools, Support).
* Improved: Complete in-plugin documentation.

= 3.7.0 =
* CSV export, front-end search, and the first analytics dashboard.

= 3.6.0 =
* No-build Gutenberg block.

= 3.5.0 =
* Schema.org structured data.

= 3.4.0 =
* Help & Tools page, Custom CSS, full ets-prefixing, form rebuild.

= 3.2.0 =
* GDPR pack, optional avatar, reCAPTCHA v3, company field.

== Upgrade Notice ==

= 4.2.0 =
Plugin renamed to "KingWeb Testimonials Manager". The Custom CSS tool was removed and the email credit is now opt-in. Your settings are migrated automatically; no testimonial data migration is required.

= 4.1.1 =
Code-quality and WordPress.org compliance pass. No data migration and no behavior changes.

= 4.1.0 =
Plugin renamed to "Testimonials & Reviews Suite". Chart.js and Swiper are now bundled locally. No data migration required.

= 4.0.0 =
Major update: redesigned admin, Analytics dashboard, Support page, single-testimonial embed, and editable emails. No data migration required.

== Third-party libraries ==

This plugin bundles the following third-party libraries (each MIT-licensed, GPL-compatible):

* Chart.js v4.5.1 — https://github.com/chartjs/Chart.js — MIT License
* Swiper v12.2.0 — https://github.com/nolimits4web/swiper — MIT License

== External services ==

This plugin includes an **optional** Google reCAPTCHA v3 integration for spam protection on the testimonial submission form. It is **disabled by default** and only becomes active when a site administrator enters their own reCAPTCHA v3 Site Key and Secret Key under Testimonials → Settings.

When enabled:

* What it is / what it is used for: Google reCAPTCHA v3 scores form submissions to block automated spam, so only the testimonial submission form is affected.
* What data is sent and when: when a visitor submits the testimonial form, the reCAPTCHA script (loaded from www.google.com) generates a token in the visitor's browser; the plugin then sends that token, the site's reCAPTCHA secret key, and the visitor's IP address to Google's verification endpoint (https://www.google.com/recaptcha/api/siteverify) to obtain a spam score. No data is sent when the keys are not configured.
* Service provider: Google. Terms of Service: https://policies.google.com/terms — Privacy Policy: https://policies.google.com/privacy — reCAPTCHA terms: https://www.google.com/recaptcha/about/

If no reCAPTCHA keys are configured, the plugin does not contact any external service.
