{"id":268919,"date":"2026-01-06T07:18:28","date_gmt":"2026-01-06T07:18:28","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/feedback-testimonials\/"},"modified":"2026-03-20T10:34:28","modified_gmt":"2026-03-20T10:34:28","slug":"glowreviews","status":"publish","type":"plugin","link":"https:\/\/es-uy.wordpress.org\/plugins\/glowreviews\/","author":16163568,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"1.1.0","stable_tag":"1.1.0","tested":"6.9.4","requires":"5.2","requires_php":"7.4","requires_plugins":null,"header_name":"GlowReviews - Smart Feedback & Testimonials","header_author":"Moti Raj Gautam","header_description":"Collect customer feedback with ratings and display as testimonials using WordPress native functionality","assets_banners_color":"6b5bc7","last_updated":"2026-03-20 10:34:28","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/github.com\/motiraj\/glowreviews","header_author_uri":"https:\/\/www.linkedin.com\/in\/moti-raj-gautam-1060005a\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":605,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"motiraj","date":"2026-01-06 07:26:17"},"1.0.1":{"tag":"1.0.1","author":"motiraj","date":"2026-02-17 03:46:42"},"1.1.0":{"tag":"1.1.0","author":"motiraj","date":"2026-03-20 10:34:28"}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-256x256.gif":{"filename":"icon-256x256.gif","revision":3462253,"resolution":"256x256","location":"assets","locale":""}},"assets_banners":{"banner-772x250.jpg":{"filename":"banner-772x250.jpg","revision":3487138,"resolution":"772x250","location":"assets","locale":""}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0","1.0.1","1.1.0"],"block_files":[],"assets_screenshots":[],"screenshots":{"1":"Frontend feedback form with star rating, image upload, and validation","2":"Grid layout for approved testimonials","3":"Slider layout for rotating testimonials","4":"List layout for longer testimonial displays","5":"Pending Feedback admin page with approve and reject actions","6":"Testimonial editor with rating, image, and customer details","7":"Display settings page","8":"Built-in documentation page in wp-admin"},"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[5593,108,8203,1519,1518],"plugin_category":[42,53,58],"plugin_contributors":[253406],"plugin_business_model":[],"class_list":["post-268919","plugin","type-plugin","status-publish","hentry","plugin_tags-customer","plugin_tags-feedback","plugin_tags-ratings","plugin_tags-reviews","plugin_tags-testimonials","plugin_category-contact-forms","plugin_category-ratings-and-reviews","plugin_category-user-management","plugin_contributors-motiraj","plugin_committers-motiraj"],"banners":{"banner":"https:\/\/ps.w.org\/glowreviews\/assets\/banner-772x250.jpg?rev=3487138","banner_2x":false,"banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/glowreviews\/assets\/icon-256x256.gif?rev=3462253","icon_2x":"https:\/\/ps.w.org\/glowreviews\/assets\/icon-256x256.gif?rev=3462253","generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p>GlowReviews helps you collect customer feedback and publish approved testimonials with native WordPress tools. Feedback submissions are stored as a custom post type, reviewed in the admin area, and displayed with shortcode-driven grid, slider, or list layouts.<\/p>\n\n<p>The plugin includes a frontend feedback form, duplicate-email update flow, testimonial moderation tools, image upload support, avatar fallbacks, and shortcode-based display controls. Longer testimonial content can be collapsed with a <code>Read More<\/code> toggle, while built-in validation, nonce checks, honeypot fields, form timing checks, and rate limiting help keep submissions clean and secure.<\/p>\n\n<h4>Key Features<\/h4>\n\n<ul>\n<li>Collect feedback with 1-5 star ratings<\/li>\n<li>Frontend feedback form shortcode with AJAX and standard submission support<\/li>\n<li>Detect duplicate submissions by email and allow customers to update an existing review<\/li>\n<li>Display approved testimonials in grid, slider, or list layouts<\/li>\n<li>Show <code>Read More<\/code> \/ <code>Read Less<\/code> for testimonial text longer than 120 characters<\/li>\n<li>Upload customer images with validation for JPG, PNG, and GIF files up to 2MB<\/li>\n<li>Fall back to WordPress user avatars for logged-in users when no custom image is uploaded<\/li>\n<li>Review submissions from a dedicated Pending Feedback admin screen<\/li>\n<li>Approve, reject, edit, or manually add testimonials from the WordPress dashboard<\/li>\n<li>Display settings page and built-in documentation page in wp-admin<\/li>\n<li>Flexible shortcode attributes for layout, visibility, ordering, limits, and categories using the <code>glowrev-<\/code> shortcode prefix<\/li>\n<li>Spam protection with honeypot fields, nonce checks, form timing validation, and IP-based rate limiting<\/li>\n<li>Migration helpers for older CLVO-based plugin data and admin URLs<\/li>\n<li>Uses WordPress caching APIs to reduce repeated testimonial queries<\/li>\n<li>Improved WordPress coding standards compliance, escaping, nonce validation, caching, and readme consistency<\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>glowreviews<\/code> folder to the <code>\/wp-content\/plugins\/<\/code> directory.<\/li>\n<li>Activate the plugin through the <code>Plugins<\/code> menu in WordPress.<\/li>\n<li>Go to <code>GlowReviews<\/code> or <code>Settings &gt; GlowReviews<\/code> in wp-admin.<\/li>\n<li>Add a feedback form with <code>[glowrev-feedback-form]<\/code>.<\/li>\n<li>Display testimonials with <code>[glowrev-display-testimonials]<\/code>.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"how%20do%20i%20collect%20feedback%3F\"><h3>How do I collect feedback?<\/h3><\/dt>\n<dd><p>Use the feedback form shortcode on any page or post:<\/p>\n\n<ul>\n<li><code>[glowrev-feedback-form]<\/code><\/li>\n<\/ul>\n\n<p>Available form shortcode attributes:<\/p>\n\n<ul>\n<li><code>title<\/code> - Form title. Default: <code>Share Your Experience<\/code><\/li>\n<li><code>show_title<\/code> - Show or hide the form title. Default: <code>yes<\/code><\/li>\n<li><code>class<\/code> - Add a custom wrapper class<\/li>\n<\/ul><\/dd>\n<dt id=\"what%20fields%20are%20included%20in%20the%20feedback%20form%3F\"><h3>What fields are included in the feedback form?<\/h3><\/dt>\n<dd><p>The form includes:<\/p>\n\n<ul>\n<li>Name<\/li>\n<li>Company name<\/li>\n<li>Designation<\/li>\n<li>Email<\/li>\n<li>Optional image upload<\/li>\n<li>1-5 star rating<\/li>\n<li>Feedback text with a 150 character maximum<\/li>\n<\/ul><\/dd>\n<dt id=\"how%20does%20long%20testimonial%20text%20display%3F\"><h3>How does long testimonial text display?<\/h3><\/dt>\n<dd><p>If testimonial content is longer than 120 characters, GlowReviews shows a <code>Read More<\/code> link so visitors can expand and collapse the full text in the testimonial layouts.<\/p><\/dd>\n<dt id=\"can%20customers%20update%20an%20existing%20feedback%20entry%3F\"><h3>Can customers update an existing feedback entry?<\/h3><\/dt>\n<dd><p>Yes. If a submission uses an email address that already exists, GlowReviews detects it and lets the customer update that testimonial instead of creating a duplicate. Updated submissions return to pending review.<\/p><\/dd>\n<dt id=\"how%20do%20i%20display%20testimonials%20on%20my%20site%3F\"><h3>How do I display testimonials on my site?<\/h3><\/dt>\n<dd><p>Use the display shortcode:<\/p>\n\n<ul>\n<li><code>[glowrev-display-testimonials]<\/code><\/li>\n<\/ul>\n\n<p>Supported display shortcode attributes:<\/p>\n\n<ul>\n<li><code>limit<\/code> - Number of testimonials to show. Default: <code>-1<\/code><\/li>\n<li><code>orderby<\/code> - Sort field such as <code>date<\/code>, <code>title<\/code>, or <code>rand<\/code><\/li>\n<li><code>order<\/code> - <code>ASC<\/code> or <code>DESC<\/code><\/li>\n<li><code>category<\/code> - Filter by category slug(s), comma-separated<\/li>\n<li><code>layout<\/code> - <code>grid<\/code>, <code>slider<\/code>, or <code>list<\/code><\/li>\n<li><code>show_image<\/code> - <code>yes<\/code> or <code>no<\/code><\/li>\n<li><code>show_rating<\/code> - <code>yes<\/code> or <code>no<\/code><\/li>\n<li><code>show_excerpt<\/code> - <code>yes<\/code> or <code>no<\/code><\/li>\n<li><code>show_date<\/code> - <code>yes<\/code> or <code>no<\/code><\/li>\n<li><code>show_author<\/code> - <code>yes<\/code> or <code>no<\/code><\/li>\n<li><code>show_company<\/code> - <code>yes<\/code> or <code>no<\/code><\/li>\n<li><code>show_designation<\/code> - <code>yes<\/code> or <code>no<\/code><\/li>\n<li><code>show_position<\/code> - <code>yes<\/code> or <code>no<\/code><\/li>\n<li><code>columns<\/code> - Number of columns for grid layout. Default: <code>3<\/code><\/li>\n<\/ul>\n\n<p>Example:<\/p>\n\n<pre><code>[glowrev-display-testimonials layout=\"grid\" limit=\"6\" show_rating=\"yes\" show_company=\"yes\"]\n<\/code><\/pre><\/dd>\n<dt id=\"do%20testimonials%20appear%20automatically%20after%20submission%3F\"><h3>Do testimonials appear automatically after submission?<\/h3><\/dt>\n<dd><p>No. Frontend submissions are stored as pending and must be approved before they appear on the site.<\/p><\/dd>\n<dt id=\"how%20do%20i%20moderate%20submissions%3F\"><h3>How do I moderate submissions?<\/h3><\/dt>\n<dd><p>GlowReviews adds a dedicated <code>Pending Feedback<\/code> admin page where you can:<\/p>\n\n<ul>\n<li>Review pending submissions<\/li>\n<li>Approve testimonials for frontend display<\/li>\n<li>Reject testimonials and move them to trash<\/li>\n<li>Open the full editor for manual changes<\/li>\n<\/ul><\/dd>\n<dt id=\"can%20i%20add%20testimonials%20manually%20from%20wp-admin%3F\"><h3>Can I add testimonials manually from wp-admin?<\/h3><\/dt>\n<dd><p>Yes. Testimonials are stored as the <code>glowrev_testimonial<\/code> custom post type, so you can create and edit them directly in WordPress.<\/p><\/dd>\n<dt id=\"how%20does%20image%20handling%20work%3F\"><h3>How does image handling work?<\/h3><\/dt>\n<dd><p>Customers can upload JPG, JPEG, PNG, or GIF images up to 2MB. If a logged-in user submits feedback without uploading an image, GlowReviews can display their WordPress user avatar instead.<\/p><\/dd>\n<dt id=\"which%20shortcodes%20should%20i%20use%3F\"><h3>Which shortcodes should I use?<\/h3><\/dt>\n<dd><p>Use the current shortcode names:<\/p>\n\n<ul>\n<li><code>[glowrev-feedback-form]<\/code><\/li>\n<li><code>[glowrev-display-testimonials]<\/code><\/li>\n<\/ul>\n\n<p>Legacy shortcode aliases may still work for backward compatibility, but the <code>glowrev-<\/code> shortcodes are the recommended format for new usage.<\/p><\/dd>\n<dt id=\"what%20spam%20and%20validation%20protections%20are%20included%3F\"><h3>What spam and validation protections are included?<\/h3><\/dt>\n<dd><p>GlowReviews includes:<\/p>\n\n<ul>\n<li>WordPress nonce verification<\/li>\n<li>Hidden honeypot fields<\/li>\n<li>Form timing checks<\/li>\n<li>IP-based rate limiting<\/li>\n<li>Duplicate email detection<\/li>\n<li>File type and file size validation<\/li>\n<li>Sanitization and validation of submitted fields<\/li>\n<\/ul>\n\n<p>Current rate limits:<\/p>\n\n<ul>\n<li>3 submissions per hour per IP<\/li>\n<li>10 submissions per day per IP<\/li>\n<\/ul><\/dd>\n<dt id=\"does%20the%20plugin%20include%20admin%20documentation%3F\"><h3>Does the plugin include admin documentation?<\/h3><\/dt>\n<dd><p>Yes. The plugin adds a documentation page in wp-admin along with display settings and testimonial management screens.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.1.0<\/h4>\n\n<ul>\n<li>Added <code>Read More<\/code> \/ <code>Read Less<\/code> toggle for testimonial text longer than 120 characters across grid, list, and slider layouts<\/li>\n<li>Improved slider navigation positioning and rating display behavior<\/li>\n<li>Centered testimonial text in the grid layout<\/li>\n<li>Standardized plugin-facing prefixes for settings, cache groups, filters, and shortcode documentation<\/li>\n<li>Improved readme, shortcode examples, and documentation to match the current plugin usage<\/li>\n<li>Replaced the duplicate-email <code>meta_query<\/code> lookup with a prepared cached email lookup for smoother submissions<\/li>\n<li>Improved WordPressCS and PHPCS compliance for escaping, translators comments, nonce verification, line endings, BOM handling, and naming conventions<\/li>\n<li>Added duplicate email detection and customer review update flow<\/li>\n<li>Added dedicated Pending Feedback admin screen with approve and reject actions<\/li>\n<li>Improved frontend form validation and secure submission handling<\/li>\n<li>Added honeypot fields, form timing checks, and IP-based rate limiting<\/li>\n<li>Added file upload validation for allowed image types and maximum size<\/li>\n<li>Improved logged-in user avatar support and testimonial image handling<\/li>\n<li>Added migration helpers for older CLVO settings, post types, and admin URLs<\/li>\n<li>Improved caching for testimonial queries and taxonomy term lookups<\/li>\n<li>Added plugin documentation and streamlined admin settings access<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release<\/li>\n<\/ul>","raw_excerpt":"Collect customer feedback with star ratings, moderation, image uploads, and flexible testimonial layouts.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/es-uy.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/268919","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/es-uy.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/es-uy.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/es-uy.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=268919"}],"author":[{"embeddable":true,"href":"https:\/\/es-uy.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/motiraj"}],"wp:attachment":[{"href":"https:\/\/es-uy.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=268919"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/es-uy.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=268919"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/es-uy.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=268919"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/es-uy.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=268919"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/es-uy.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=268919"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/es-uy.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=268919"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}