{"id":324008,"date":"2026-06-17T18:54:28","date_gmt":"2026-06-17T18:54:28","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/testimonials-reviews-suite\/"},"modified":"2026-06-17T18:53:29","modified_gmt":"2026-06-17T18:53:29","slug":"kingweb-testimonials-manager","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/kingweb-testimonials-manager\/","author":23513682,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"4.2.0","stable_tag":"4.2.0","tested":"7.0","requires":"5.8","requires_php":"7.4","requires_plugins":null,"header_name":"KingWeb Testimonials Manager","header_author":"The King Web","header_description":"Collect, moderate, and display customer testimonials with star ratings, avatars, a submission form, analytics, and SEO schema. Works with Elementor, Gutenberg, and shortcodes.","assets_banners_color":"","last_updated":"2026-06-17 18:53:29","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"https:\/\/thekingweb.com","rating":0,"author_block_rating":0,"active_installs":0,"downloads":30,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"4.2.0":{"tag":"4.2.0","author":"thekingweb","date":"2026-06-17 18:53:29"}},"upgrade_notice":{"4.2.0":"<p>Plugin renamed to &quot;KingWeb Testimonials Manager&quot;. 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.<\/p>","4.1.1":"<p>Code-quality and WordPress.org compliance pass. No data migration and no behavior changes.<\/p>","4.1.0":"<p>Plugin renamed to &quot;Testimonials &amp; Reviews Suite&quot;. Chart.js and Swiper are now bundled locally. No data migration required.<\/p>","4.0.0":"<p>Major update: redesigned admin, Analytics dashboard, Support page, single-testimonial embed, and editable emails. No data migration required.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3576315,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3576315,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":[],"assets_blueprints":{},"all_blocks":{"kingweb\/testimonials":{"name":"kingweb\/testimonials","title":"Testimonials"}},"tagged_versions":["4.2.0"],"block_files":[],"assets_screenshots":{"screenshot-1.jpg":{"filename":"screenshot-1.jpg","revision":3576315,"resolution":"1","location":"assets","locale":"","width":1285,"height":648},"screenshot-2.jpg":{"filename":"screenshot-2.jpg","revision":3576315,"resolution":"2","location":"assets","locale":"","width":1320,"height":787},"screenshot-3.jpg":{"filename":"screenshot-3.jpg","revision":3576315,"resolution":"3","location":"assets","locale":"","width":1900,"height":944},"screenshot-4.jpg":{"filename":"screenshot-4.jpg","revision":3576315,"resolution":"4","location":"assets","locale":"","width":1920,"height":1489},"screenshot-5.jpg":{"filename":"screenshot-5.jpg","revision":3576315,"resolution":"5","location":"assets","locale":"","width":1920,"height":2660},"screenshot-6.jpg":{"filename":"screenshot-6.jpg","revision":3576315,"resolution":"6","location":"assets","locale":"","width":1920,"height":1267}},"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 &amp; Tools \u2192 Emails editor.","6":"The Support diagnostics page."}},"plugin_section":[],"plugin_tags":[25588,8203,1519,2293,1518],"plugin_category":[53],"plugin_contributors":[267608],"plugin_business_model":[],"class_list":["post-324008","plugin","type-plugin","status-publish","hentry","plugin_tags-customer-reviews","plugin_tags-ratings","plugin_tags-reviews","plugin_tags-star-rating","plugin_tags-testimonials","plugin_category-ratings-and-reviews","plugin_contributors-thekingweb","plugin_committers-thekingweb"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/kingweb-testimonials-manager\/assets\/icon-128x128.png?rev=3576315","icon_2x":"https:\/\/ps.w.org\/kingweb-testimonials-manager\/assets\/icon-256x256.png?rev=3576315","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/kingweb-testimonials-manager\/assets\/screenshot-1.jpg?rev=3576315","caption":"The testimonials grid on the front end."},{"src":"https:\/\/ps.w.org\/kingweb-testimonials-manager\/assets\/screenshot-2.jpg?rev=3576315","caption":"The submission form."},{"src":"https:\/\/ps.w.org\/kingweb-testimonials-manager\/assets\/screenshot-3.jpg?rev=3576315","caption":"Admin moderation list with bulk actions and CSV export."},{"src":"https:\/\/ps.w.org\/kingweb-testimonials-manager\/assets\/screenshot-4.jpg?rev=3576315","caption":"The Analytics dashboard."},{"src":"https:\/\/ps.w.org\/kingweb-testimonials-manager\/assets\/screenshot-5.jpg?rev=3576315","caption":"Help &amp; Tools \u2192 Emails editor."},{"src":"https:\/\/ps.w.org\/kingweb-testimonials-manager\/assets\/screenshot-6.jpg?rev=3576315","caption":"The Support diagnostics page."}],"raw_content":"<!--section=description-->\n<p>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 \u2014 via shortcodes, an Elementor widget, or a Gutenberg block.<\/p>\n\n<p><strong>Highlights<\/strong><\/p>\n\n<ul>\n<li>Public submission form with star rating, optional photo (Media Library), and company.<\/li>\n<li>Moderation: approve \/ reject \/ delete, bulk actions, public admin responses, CSV export.<\/li>\n<li>Display modes: grid (with filters + search), carousel, top-rated, and single embed.<\/li>\n<li>Builders: \"Custom Testimonials\" Elementor widget and a native Gutenberg block \u2014 pick a Display Type, no shortcode required.<\/li>\n<li>Analytics dashboard: trends, status breakdown, rating distribution, response rate, and more.<\/li>\n<li>Editable, white-label emails (thank-you, admin notification, response) with branding controls.<\/li>\n<li>SEO: Schema.org review + aggregateRating JSON-LD.<\/li>\n<li>GDPR: consent capture, WordPress export\/erase integration, data-retention notice.<\/li>\n<li>Spam protection: honeypot, per-IP rate limit, optional reCAPTCHA v3.<\/li>\n<\/ul>\n\n<h3>Third-party libraries<\/h3>\n\n<p>This plugin bundles the following third-party libraries (each MIT-licensed, GPL-compatible):<\/p>\n\n<ul>\n<li>Chart.js v4.5.1 \u2014 https:\/\/github.com\/chartjs\/Chart.js \u2014 MIT License<\/li>\n<li>Swiper v12.2.0 \u2014 https:\/\/github.com\/nolimits4web\/swiper \u2014 MIT License<\/li>\n<\/ul>\n\n<h3>External services<\/h3>\n\n<p>This plugin includes an <strong>optional<\/strong> Google reCAPTCHA v3 integration for spam protection on the testimonial submission form. It is <strong>disabled by default<\/strong> and only becomes active when a site administrator enters their own reCAPTCHA v3 Site Key and Secret Key under Testimonials \u2192 Settings.<\/p>\n\n<p>When enabled:<\/p>\n\n<ul>\n<li>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.<\/li>\n<li>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.<\/li>\n<li>Service provider: Google. Terms of Service: https:\/\/policies.google.com\/terms \u2014 Privacy Policy: https:\/\/policies.google.com\/privacy \u2014 reCAPTCHA terms: https:\/\/www.google.com\/recaptcha\/about\/<\/li>\n<\/ul>\n\n<p>If no reCAPTCHA keys are configured, the plugin does not contact any external service.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin folder to <code>\/wp-content\/plugins\/<\/code> (or install via the Plugins screen).<\/li>\n<li>Activate it through the \"Plugins\" menu in WordPress.<\/li>\n<li>Create a page with the slug <code>testimonials<\/code> containing <code>[kwtm_testimonials]<\/code>.<\/li>\n<li>Add <code>[kwtm_testimonial_form]<\/code> to any page to collect submissions.<\/li>\n<li>Configure behavior under Testimonials \u2192 Settings.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"do%20i%20need%20elementor%3F\"><h3>Do I need Elementor?<\/h3><\/dt>\n<dd><p>No. All features work via shortcodes and the Gutenberg block. Elementor adds an optional widget.<\/p><\/dd>\n<dt id=\"how%20do%20i%20show%20one%20specific%20testimonial%3F\"><h3>How do I show one specific testimonial?<\/h3><\/dt>\n<dd><p>Use <code>[kwtm_single_testimonial id=\"16\"]<\/code> (or <code>layout=\"card\"<\/code>), or choose \"Single\" in the Elementor widget \/ Gutenberg block.<\/p><\/dd>\n<dt id=\"will%20google%20show%20star%20ratings%3F\"><h3>Will Google show star ratings?<\/h3><\/dt>\n<dd><p>The plugin outputs valid review schema. Google displays star rich results for Product\/Service entities, not for self-collected Organization\/LocalBusiness reviews.<\/p><\/dd>\n<dt id=\"can%20i%20customize%20the%20emails%3F\"><h3>Can I customize the emails?<\/h3><\/dt>\n<dd><p>Yes \u2014 edit subjects, HTML bodies, logo, accent color, and footer under Help &amp; Tools \u2192 Emails.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>4.2.0<\/h4>\n\n<ul>\n<li>Renamed to \"KingWeb Testimonials Manager\" (new slug: kingweb-testimonials-manager).<\/li>\n<li>Removed the Custom CSS tool (WordPress.org does not permit arbitrary code entry).<\/li>\n<li>The email-footer credit is now off by default and opt-in.<\/li>\n<li>Documented the optional Google reCAPTCHA integration in the readme.<\/li>\n<li>Updated the bundled Chart.js to 4.5.1.<\/li>\n<li>Moved the admin menu to a lower, non-conflicting position.<\/li>\n<li>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.<\/li>\n<\/ul>\n\n<h4>4.1.1<\/h4>\n\n<ul>\n<li>Compliance: resolved all WordPress.org Plugin Check findings \u2014 output escaping, input sanitization\/unslashing, safe redirects, i18n translator comments, and setting sanitize callbacks.<\/li>\n<li>Documented the plugin's custom-table queries as intentional direct queries (no behavior change).<\/li>\n<li>Removed the manual textdomain load (translations load automatically since WordPress 4.6).<\/li>\n<li>Tested up to WordPress 7.0.<\/li>\n<\/ul>\n\n<h4>4.1.0<\/h4>\n\n<ul>\n<li>Renamed to \"Testimonials &amp; Reviews Suite\".<\/li>\n<li>Bundled Chart.js and Swiper locally (no external CDN).<\/li>\n<li>Added an email-footer credit toggle.<\/li>\n<li>New: configurable \"From Email\" address for outgoing emails (Settings \u2192 Email &amp; Links).<\/li>\n<li>Fixed: deleting a testimonial now also removes its uploaded avatar from the Media Library, including older submissions.<\/li>\n<li>Compliance and i18n hardening; tested up to WordPress 6.8.<\/li>\n<\/ul>\n\n<h4>4.0.0<\/h4>\n\n<ul>\n<li>New: Analytics dashboard redesign with new metrics (status doughnut, trend deltas, response rate, content quality, busiest day, recent submissions).<\/li>\n<li>New: Support page with a copyable system diagnostics report and support\/review links.<\/li>\n<li>New: <code>[kwtm_single_testimonial]<\/code> shortcode + \"Single\" display type in the Elementor widget and Gutenberg block.<\/li>\n<li>New: Editable, white-label email templates (subject + HTML body + branding) under Help &amp; Tools \u2192 Emails.<\/li>\n<li>Improved: Unified admin design system; per-page headers; submenu order (Testimonials, Analytics, Settings, Help &amp; Tools, Support).<\/li>\n<li>Improved: Complete in-plugin documentation.<\/li>\n<\/ul>\n\n<h4>3.7.0<\/h4>\n\n<ul>\n<li>CSV export, front-end search, and the first analytics dashboard.<\/li>\n<\/ul>\n\n<h4>3.6.0<\/h4>\n\n<ul>\n<li>No-build Gutenberg block.<\/li>\n<\/ul>\n\n<h4>3.5.0<\/h4>\n\n<ul>\n<li>Schema.org structured data.<\/li>\n<\/ul>\n\n<h4>3.4.0<\/h4>\n\n<ul>\n<li>Help &amp; Tools page, Custom CSS, full ets-prefixing, form rebuild.<\/li>\n<\/ul>\n\n<h4>3.2.0<\/h4>\n\n<ul>\n<li>GDPR pack, optional avatar, reCAPTCHA v3, company field.<\/li>\n<\/ul>","raw_excerpt":"Collect, moderate, and display customer testimonials with star ratings, avatars, Elementor\/Gutenberg builders, analytics, and SEO schema.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/324008","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=324008"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/thekingweb"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=324008"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=324008"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=324008"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=324008"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=324008"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=324008"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}