Testimonial Rotator


New in version 2.1: A new free theme called Longform and other paid themes are now available! I also added a bunch of fixes and improvements. Check the Changelog for more details.

Finally a really simple way to manage testimonials on your site. This plugin creates a testimonial and a testimonial rotator custom post type, complete with WordPress admin fields for adding testimonials and assigning them to rotators for display. It includes a Widget and Shortcode to display the testimonials.


The Features You Need

  • Change all rotator settings in the admin
  • Add testimonials to multiple rotators
  • Prev/Next Buttons
  • Vertical Align Testimonials based on Height
  • Star Ratings
  • Author information field
  • Testimonial single template
  • Ability to make custom templates
  • hReview Support
  • Pagination in List Format
  • Ability to show the Add Rotator section based on User Role
  • Settings section
  • New hooks and filters


  • Clean admin panel. Available only to those you want.
  • Simple rotator settings.
  • Uses built-in WordPress functionality like excerpt, featured images and menu order.
  • A Testimonial Rotator inserted into a block of text with a shortcode.
  • hReview data included, great for SEO.
  • Create your own custom templates.
  • Widget Options, override rotator settings if needed.
  • Settings area where you can customize error handling and hide Font Awesome if you need to.


  1. Add plugin to the /wp-content/plugins/ directory
  2. Activate the plugin through the ‘Plugins’ menu in WordPress
  3. Add a testimonial rotator
  4. Create testimonials and specify which rotator you want it to be a part of
  5. Add the rotators to your pages using the shortcode or developers can add the placeholders in their themes.

Check out this Help Guide for more information about getting started and what all the settings mean.


Looks good on Genesis

Just stopping by to say thank you for this wonderful plugin. It really looked good on my Genesis powered site.

The Best Testimonial Plugin By Far!!!

Just wanted to stop in and give my review of the plugin.

After looking for about an hour through various testimonial plugins that came out at on top of search results, I just so happened to see this plugin and thought “Why Not”?

This plugin does exactly what I want it to do and it does it better than the other high end plugins. It is super easy to understand and configure.

Great testimonial plugin. Keep up the good work.

Almost Great

Lots of great things, but some things don’t work correctly. E.g., I selected to have the widget to show the prev/next arrows, but they don’t show. Wish support was active.

Exactly what I needed

After trying eight or nine testimonial widgets I narrowed it down to two. Super Testimonials and Testimonial Rotator and both are now my ‘goto’ plugins.

This one has some great options including several slide options ie fade, horizontal, vertical etc


I am always on the lookout for simple, easy to use but quality plugins: this is such a plugin. My testimonials were setup in minutes and look fantastic.


Read all 70 reviews

Contributors & Developers

“Testimonial Rotator” is open source software. The following people have contributed to this plugin.


“Testimonial Rotator” has been translated into 2 locales. Thank you to the translators for their contributions.

Translate “Testimonial Rotator” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.

Changelog – Nov. 15, 2016

  • MISSED: Added the title to the single.php file for Longform

2.2.4 – Nov. 15, 2016

  • NEW: Ability to hide: title, stars, body, or author from the Rotator settings.
  • FIX: Added the ‘title’ to the Longform theme. Please check the new ‘hide title’ option on your Rotator settings if you don’t want it to show.
  • TYPO: I can’t spell my own theme names: Lonform is now correctly labeled Longform

2.2.3 – Nov. 3, 2016

  • FIX: Rotator List pagination

2.2.2 – October 27th, 2016

  • NEW: Custom CSS setting in the admin under ‘Testimonials’ -> ‘Settings’

2.2.1 – October 27th, 2016

  • NEW: Settings when adding a widget to hide all elements of the rotator: title, stars, body, author and hreview
  • FIX: Boolean attributes can now be passed as ‘true/false’ or ‘1/0’
  • FIX: Updated language file

2.2 – August 31, 2016

  • HUGE FIX: Fixed compatibility of my plugin with Next Gen Gallery, Social Sharing plugins, Jetpack and more!
  • NEW: Added new ‘show_link’ and ‘link_text’ attribute with settings in the widget options to make linking to your testimonials super easy!
  • NEW: Added form labels to elements so you don’t have to click only on the checkbox or radio button
  • FIX: Updated language file

2.1.5 – Apr 19, 2016

  • Change the single page testimonial by adding a content-testimonial.php file in your theme folder. – Apr 18, 2016

Cleaned up error in the admin

2.1.4 – Apr 18, 2016

  • PHP7 Compatibility

2.1.3 – Jan 21, 2016

  • Single template for Longform template had an extra closing div tag. Thanks @kevinmorton

2.1.2 – Jan 18, 2016

  • Fixed Single Page Testimonial. Test was missing, not single page pulls from template selected
  • New filters to improve single page.

2.1.1 – Jan. 13, 2016

  • Fixed excerpt issue cauing fatal errors
  • Moved get_the_excerpt into a wrapper function ‘testimonial_rotator_excerpt’ with a filter ‘testimonial_rotator_the_excerpt’ to modify the contents

2.1 – Jan. 12, 2016

  • New free theme: Longform!
  • Added shortcode for single testimonial [testimonial_single]
  • Added testimonial count to rotator list view
  • See testimonials associated to rotator in edit screen
  • Change the element for the title in settings (default H2)
  • Code added for upcoming custom templates
  • Flip transitions added
  • Fix hreview itemreviewed name
  • Code cleanup and better sanitation of variables
  • Updated text domain from testimonial_rotator to testimonial-rotator
  • Cycle log hidden by default, log=”true” to turn on. Thanks @michaelbragg
  • Override rotator settings in the widget. (allows you to change settings for the ‘All Rotators’ option)
  • Specify the excerpt length in the widget settings (requires PHP 5.3+)
  • New shortcode parameters to hide sections of the testimonial: hide_title, hide_stars, hide_body, hide_author

2.0.6 – Updated July 13, 2015

  • Changed WP_Widget() to __construct, for maximum PHP5 support

2.0.5 – Updated July 20, 2014

  • New filter to change the stars to any FontAwesome Icon
  • Improved stability when upgrading from 1.4+
  • When ‘Previous/Next’ is checked in the rotator it will automatically turn on paged for the list view

2.0.4 – Updated July 7, 2014

  • Ability to center the stars
  • Hopefully fixed up issues with the_content on the single page
  • Added new filter for pause on hover
  • Added new filter for loading scripts in the footer
  • Added new filter for settings on Widgets
  • Added Rotator IDs to most filters so they can used on a rotator basis

2.0.3 – Updated May 30, 2014

  • Added thumbnail setting for Rotator
  • Wrapped Init functions with is_admin for the Admin only hooks

2.0.2 – Updated May 20, 2014

  • Fixed Widget Title
  • Fixed rotator timeout and transition speed

2.0.1 – May 15, 2014

  • Added wrapper div around quote part of testimonial

2.0 – May 15, 2014

  • Change all rotator settings in the admin
  • Add testimonials to multiple rotators
  • Prev / Next Buttons
  • Vertical Align Testimonials based on Height
  • Font Awesome
  • Star Ratings
  • Hide Featured Image
  • Author Cite Field
  • Testimonial single template
  • Ability to make custom templates (Theme Pack coming soon)
  • hReview Support
  • Pagination in List Format
  • Ability to show the Add Rotator section based on User Role
  • New Settings section
  • New hooks added
  • Code cleanup and more commenting


  • Use shortcode to display testimonials from all rotators by not passing in an ‘id’ attribute
  • Completed preparation for translation, wrapped all text in __()
  • Two new filters for the ‘supports’ section of the register_post_type: testimonial_rotator_supports and testimonial_rotator_testimonial_supports
  • Two new filters for auto-height ‘calc’: testimonial_rotator_calc and testimonial_rotator_widget_fx


  • Updated icon for WordPress 3.8
  • Fixed translation and added languages folder, moved .pot to this folder
  • Moved styles and scripts from action wp_head to wp_enqueue_scripts
  • Fixed images and order not showing in admin list view
  • Prepped for an upcoming PRO version!


  • Fix bug not rotating widget


  • Changed cycle2 to cycletwo as it was conflicting with other plugins


  • Fixed small bug where some themes were adding extra spaces and breaking the rotator


  • Switched from jQuery Cycle1 to Cycle 2
  • Widget now uses Rotator FX and Timeout settings
  • Added .testimonial_rotator_widget_blockquote class to widget blockquote to help override some CSS problems with themes.
  • Rotator Height is now fixed at the highest testimonial instead of auto adjusting the height


reset query bug


  • Randomize testimonials without code
  • Hide the title
  • Display excerpt or full testimonial in width
  • Display specific rotator in widget
  • More shortcode examples
  • The widget has been updated with all the features as options, no more coding!


  • main testimonial now uses the_content filter to make styling better.
  • include rotator using the rotator slug, for example: [testimonial_rotator id=homepage]
  • new attributes to the shortcode:
    ** hide_title: hides the h2 heading
    ** format: settings format=list will remove rotator and display all testimonials
    ** limit: set the number of testimonials to display, new default is -1 or all testimonials


  • small bug in widget javascript


  • reworking loading of scripts for rotator, should be sorted now.


  • jQuery ready function always


  • Testimonial widget using jQuery ready function instead of window.onload


  • Can’t remember, forgot to put this one in (not cool of me, I know)


  • Small fix to make the testimonial widget fit it’s container


  • Initial load of the plugin.