DOCUMENTATION

Revolutionary Testimonials Documentation

Collect, verify and showcase customer reviews with a dedicated post type, star ratings, a verified badge, carousel and grid layouts, automatic review schema, and a complete developer API, all without leaving WordPress.

Testimonial fields

Quote, rating, photo, role and verified badge on every review.

Categories & featuring

Group reviews by product line and pin your best to the top.

Verification badge

Mark genuine reviews and include them in schema output.

Shortcode & layouts

One shortcode renders carousel, grid or masonry layouts.

Review schema

Review and AggregateRating JSON-LD for star ratings in search.

Customer submissions

A front-end form so customers can leave reviews themselves.

Introduction

Revolutionary Testimonials turns customer reviews into managed content. Each testimonial is a real WordPress post in a dedicated Testimonials post type, complete with a star rating, an author photo, a role and company, and a verified badge. You edit reviews the same way you edit pages, then display them anywhere with a shortcode or the Gutenberg block.

Two layouts ship out of the box: a touch-friendly carousel and a responsive grid (with an optional masonry mode). Both are pure CSS, fully keyboard accessible, and built without jQuery. On top of the visuals, the plugin emits valid Review and AggregateRating schema so search engines can render your star ratings.

Tip: Because testimonials are normal posts, the same review can appear in a carousel on your home page and inside a category-filtered grid on a product page. Edit it once, it updates everywhere.

Installation

Revolutionary Testimonials installs like any standard WordPress plugin, from the bundled .zip archive or directly from the Revolutionary Plugins hub.

  1. Upload the plugin. Go to Plugins -> Add New -> Upload Plugin and choose revolutionary-testimonials.zip. Click Install Now.
  2. Activate. A new Testimonials menu appears in the admin sidebar, right next to Posts.
  3. Set your defaults. Under Testimonials -> Settings, choose the default layout, ratings style (full or half stars), and whether to show the verified badge. You can override any of these per shortcode later.
  4. Verify your license. Paste your license key under Testimonials -> Settings -> License to unlock the verified badge, schema output, customer submissions, and priority support.

Heads up: If you already manage reviews with a page builder widget, leave those in place while you migrate. The plugin never touches existing content, so you can build your testimonial library first and swap the display in when you are ready.

Your first testimonial

Add a review and put a carousel on a page. The whole process takes about a minute.

  1. Add a testimonial. Go to Testimonials -> Add New. Type the quote in the main editor, just like a post.
  2. Fill the details. In the Testimonial Details panel, set the author name, role, company, star rating, and upload a photo. Leave the photo blank to use an automatic initials avatar.
  3. Mark it verified. Tick Verified buyer if you can confirm the review is genuine. This adds the badge and includes the review in schema output.
  4. Publish. Add two or three more so your carousel has something to scroll through.
  5. Embed the layout. Open any page, paste [testimonials layout="carousel" count="6"], and update the page. Your reviews are live.

Testimonial fields

Each testimonial stores its quote in the main editor and the rest of its data in the Testimonial Details meta box. These fields drive both the display and the schema.

Field Description Used by
Quote The review text, written in the standard block editor. All layouts, schema reviewBody
Author name The customer's name shown under the quote. All layouts, schema author
Role & company Job title and organization, displayed as a subtitle. All layouts
Star rating A score from 1 to 5, in full or half steps. All layouts, schema reviewRating
Photo An author image; falls back to an initials avatar when empty. All layouts
Verified buyer (Pro) Marks the review as confirmed and shows the badge. All layouts, schema inclusion
Source & link Where the review came from, optionally linked (Google, G2, email). All layouts
Featured Pins a review to the front of any ordered query. Sorting, featured filter

Every field is also available to developers as post meta, so you can pull testimonials into custom templates or REST endpoints without touching the display layer.

Categories & featuring

Testimonials support their own category taxonomy, so you can group reviews by product line, service, location, or anything else. Filter which categories appear in a given layout with the category attribute.

  • Group by category: show only "Hosting" reviews on the hosting page and "Design" reviews on the portfolio.
  • Feature your best: tick Featured on a review to pin it to the top when ordering by featured-first.
  • Order it your way: sort by newest, oldest, highest rated, or random for a fresh look on every load.

Categories behave exactly like post categories, so they appear in the REST API, support hierarchy, and can be assigned in bulk from the testimonials list table.

Verification badge

Trust grows when a visitor knows a review is real. The Verified buyer toggle adds a small badge to the review and signals to the schema layer that this testimonial should be counted in your aggregate rating.

You assign verification manually, which keeps you honest: only mark a review verified when you can actually confirm it, for example by matching it to an order or a confirmed email reply. Unverified reviews still display, they simply omit the badge and are excluded from schema by default.

Tip: Reviews collected through the customer submission form can be auto-verified when they come from a logged-in customer, or held as unverified drafts for you to confirm. Set the policy under Settings -> Submissions.

Shortcode & attributes

The single [testimonials] shortcode renders every layout. With no attributes it shows a carousel of your most recent reviews; every attribute below is optional.

// A carousel of the 6 newest reviews
[testimonials layout="carousel" count="6"]

// A 3-column grid of the highest-rated "Hosting" reviews, verified only
[testimonials layout="grid" columns="3" category="hosting" orderby="rating" verified="true"]
Attribute Default Description
layout carousel carousel, grid, or masonry
count 6 How many reviews to show; -1 for all
columns 3 Columns for grid and masonry layouts
category all One or more category slugs, comma separated
orderby date date, rating, featured, or rand
verified false When true, show only verified reviews
stars true Show or hide star ratings on the cards
schema true Emit Review/AggregateRating JSON-LD for this output

Carousel & grid layouts

Both layouts come from the same review pool -- you switch between them with the layout attribute. Nothing about your content changes, only the presentation.

  • Carousel: touch and swipe on mobile, autoplay with a configurable interval, pause on hover, and full keyboard navigation with arrow keys.
  • Grid: an even column layout that reflows from three columns to one as the screen narrows.
  • Masonry: like the grid, but cards pack tightly regardless of quote length, ideal for a wall of reviews.

Every layout respects prefers-reduced-motion: when a visitor has reduced motion enabled, the carousel stops autoplaying and becomes a simple, swipeable set of cards.

Gutenberg block

In the block editor, search for "Testimonials", insert the block, and configure layout, count, category and ordering from the inspector sidebar -- you'll see a live preview right in the canvas. The block writes the same markup as the shortcode. You can also render testimonials from PHP in a template with the helper function:

if ( function_exists( 'revtm_render' ) ) {
    echo revtm_render( [
        'layout'   => 'grid',
        'columns'  => 3,
        'category' => 'hosting',
        'verified' => true,
    ] );
}

Review schema

When schema is enabled, the plugin prints a Review object for each verified testimonial and a single AggregateRating summarizing the set. This is what makes your pages eligible for star ratings in search results.

{
  "@context": "https://schema.org",
  "@type": "AggregateRating",
  "ratingValue": "4.9",
  "reviewCount": "1284",
  "bestRating": "5",
  "itemReviewed": { "@type": "Organization", "name": "Acme Plugins" }
}

Stay within the guidelines: only verified reviews are included in schema, and the plugin never invents ratings. Marking a quote you wrote yourself as a verified buyer risks a manual action from Google. If another SEO plugin already outputs review schema for the same item, disable it on one side with schema="false" to avoid duplicate markup.

Customer submissions

Pro adds a front-end submission form so customers can leave reviews directly on your site. Drop it anywhere with [testimonials_form]. New entries are created as drafts (or auto-published for logged-in customers, your choice) and appear in the testimonials list for approval.

  • Spam protection: a built-in honeypot and rate limit keep bots out without a CAPTCHA nagging real customers.
  • Photo upload: optionally let reviewers attach a photo, validated by type and size.
  • Moderation queue: nothing goes live until you approve it, so you control the narrative.

Hooks & filters

Developers can extend the query and the output with WordPress actions and filters. Use the revtm_query_args filter to adjust which testimonials a layout pulls -- here we exclude a "legacy" category from every carousel:

add_filter( 'revtm_query_args', function( $args, $atts ) {
    $args['category__not_in'][] = get_cat_ID( 'legacy' );
    return $args;
}, 10, 2 );

Use the revtm_card_html filter to customize a single review card, for example appending the review source as a small caption. Other commonly used hooks include revtm_rating_stars, revtm_schema_review, revtm_avatar_url, and the revtm_submission_received action.

Troubleshooting

Most issues come down to schema validation or caching. Work through these first:

  • Stars not showing in search: run the page through Google's Rich Results Test. Search engines crawl and display on their own schedule, so valid markup may take days or weeks to surface, and display is never guaranteed.
  • Carousel not sliding: usually a JavaScript conflict from another plugin or theme. Check the browser console and temporarily disable other plugins to isolate it.
  • Reviews not appearing: confirm the testimonials are published, the category slug matches, and that verified="true" is not filtering everything out.
  • Stale layout after edits: clear your page cache and CDN after changing a review, since the markup is cached with the page.
  • Duplicate schema warning: another SEO plugin is likely emitting review markup for the same item. Disable it on one side with schema="false".

Tip: Use the Testimonials -> Tools -> Schema Preview screen to see the exact JSON-LD your current settings produce, then paste it straight into Google's Rich Results Test.

FAQ

Frequently asked questions

No. Testimonials are stored as normal posts in your own WordPress database, so the only practical limit is your hosting storage. We never meter reviews, layouts, or sites.

No. The carousel and grid are pure CSS with a tiny vanilla-JavaScript helper for swipe and autoplay, no jQuery, no heavy slider library. Images lazy-load, so only the visible cards fetch their photos.

Yes. Because testimonials are a standard post type, you can use WordPress's native importer, the REST API, or WP-CLI to bring reviews in from a CSV or another plugin. Map your old fields to the testimonial meta keys listed in the fields table.

No, verification is optional. Unverified reviews still display, they simply omit the badge and stay out of schema. Only mark a review verified when you can genuinely confirm it, which keeps your aggregate rating honest.

No. The post type, star ratings, avatars, categories, sorting, and both carousel and grid layouts are fully functional for free. Pro unlocks the verified badge, review schema, masonry, and the customer submission form.

Was this helpful?

Browse the rest of the documentation or see what is included in each plan.

Back to all docs