Plugin Directory

Test out the new Plugin Directory and let us know what you think.

HMS Testimonials

Display your customer testimonials on pages or posts. Use groups to organize and display specific testimonnials on specific pages.


  • Changed a few outdated links


  • Fix adding testimonials on group view page
  • Fix sorting testimonials on group view page
  • Added the ability to edit a group name


  • Don't use the image width/height settings in the admin


  • Fixed an issue where the add group button was being hidden


  • Fixed an issue where the display order for groups was not saving properly.


  • Added a setting that will strip http:// and https:// from the part of the URL a visitor would see.


  • Fixed illegal offset message


  • Allow YouTube/Vimeo iframes in HTMLPurifier.


  • Doesn't overwrite the footer aggregate review microdata


  • Use create_function instead of a closure to support PHP 5.2+


  • Tested up to 4.0.
  • Use new Akismet calls if available
  • Added the ability to turn off spam notifications if Akismet marks a testimonial as spam.
  • Added the ability to set the location of the aggregate reviews for use with shortcodes


  • Added IDs to the fields on the add/edit testimonial screen inside the WordPress dashboard.


  • Added section to the documentation on overriding the rating display.
  • Added an option to stop outputting br tags


  • Fix bug where pause / play buttons weren't working on hover


  • Pause the rotating testimonials when you hover over them


  • Fixed a bug where testimonials were not showing up in for a group in the admin
  • Fixed a bug where groups were not saving for some users
  • Added a group attribute to the form shortcode so you can have submissions be automatically added to a form


  • Fixed a bug where review markup was being output on js.php causing the javascript to break.


  • Added setting to automatically approve testimonials
  • Added a link to the admin email to automatically approve testimonials without logging in
  • Use Akisment static methods. Akismet 3 deprecated using their functions.
  • Added an option to allow logged (non moderator users) to add their testimonial to a group
  • Adjusted add/edit testimonial to allow non moderator users to add their testimonial to one or more groups if enabled


  • Only show fields that are marked "Show on form"
  • Added aggregate review rating
  • Fixed spelling on email


  • Added the ability to use the Captcha plugin with HMS Testimonials
  • Added a setting to pick the image size to use when displaying a testimonial author image.
  • Added 5 star rating system
  • Increased microdata usage on the template
  • Fixed undefined index on template page
  • Added the testimonial author as an alt tag to the testimonial image


  • Fixed a few undefined index warnings
  • Added ID attributes to the testimonials


  • Added list of groups a testimonial is in on the main testimonials page
  • Added visual editor to author fields
  • Added edit links to testimonials on shortcode if you are a moderator
  • Added the following filters to alter the shortcode pagination links: hms_testimonials_pagination_link, hms_testimonials_pagination_next, hms_testimonials_pagination_previous, and hms_testimonials_pagination_current


  • Added option to not append the testimonial ID to the default read more link.


  • testimonial_id={id} is now appended to the read more links.
  • hms_testimonials shortcode will now accept a testimonial_id $_GET parameter to override what testimonials are shown. This allows the read more link to go to a dynamic single testimonial page.


  • You can not set the unit measurement of pixels or percent for the height and width of images.
  • Added filters to override the custom field text


  • Added new setting to redirect the hms_testimonials_form shortcode to another page on submission.
  • Added redirect_url attribute to hms_testimonials_form to override the setting.
  • Added the hms_testimonials_submitted_success filter to override the successful submission message
  • Added filters to override error messages of custom fields. Filters follow the hms_testimonials_required_cf_{field id} format.
  • Added filter to override invalid email on custom fields. Filter follows the hms_testimonials_email_cf_{field id} format.
  • Added filter names to the Custom Fields page.


  • Fixed a bug where the tables were not being created in a multi site.


  • I forgot to add rotator.js to svn so it didn't get uploaded


  • Rotating javascript has been movied to it's own file instead of inline
  • Added the following filters: hms_testimonials_sc_error_token, hms_testimonials_sc_error_name, hms_testimonials_sc_error_testimonial, hms_testimonials_sc_error_image, hms_testimonials_sc_error_website, hms_testimonials_sc_error_captcha


  • I broke reCAPTCHA so I fixed it.


  • Fixed a notice in the group area
  • Fixed reCaptcha method name collisions
  • Adjust the number of minutes for flood control on the form shortcode
  • Added image upload to form
  • Added setting to turn image upload on or off. Defaults to off for security reasons
  • Added setting to turn website field on or off.


  • Fixed a bug in the testimonial form shortcode where a blank space was added to the name field.


  • Fixed a bug where the session may be started after output thus throwing an error.


  • Added multiple anti spam measures for the shortcode form.
  • Fixed a PHP notice in the templates screen.
  • Moved jquery-ui to only show on testimonial pages


  • The js.php script now allows you to load rotating testimonials.


  • Fixed a PHP notice dealing with custom fields
  • Added random to the order attributes. It works the same as rand
  • Changed email custom field on the form shortcode to be a type of email instead of text
  • Added review microdata to testimonials. See: http://schema.org/Review


  • hms_testimonials_form shortcode now escapes POST data.
  • Fixed a bug where input did not have slashes stripped when an error occured.


  • Fixed some notces that are displayed when debugging is turned on.
  • When submitting a URL through the form shortcode it will auto append http:// to the website if it doesn't exist.


  • Fixed a bug in multi-site mode where templates keep getting created on every page load


  • Fixed a bug when generating a random string in the widgets and shortcodes


  • Fixed a bug with pagination and determining the current page
  • Fixed some notices / deperaction messages in HTMLPurifier


  • Fixed a bug where email custom fields were required despite the "Required" checkbox not being checked.


  • Fixed a bug with HTMLPurifier not working on some hosts.


  • Moved the rotating javascript to the footer


  • Added Read More settings
  • Added a new field to testimonials to specify your own read more link on an indvidual basis.


  • Template output now filters more data


  • Fixed several CSRF (Cross Site Request Forgery) vulnerabilities. Thank you RogueCoder for finding them and disclosing them responsibly.
  • Fixed several XSS (Cross Site Scripting) vulnerabilities. Thank you RogueCoder for finding them and disclosing them responsibly.
  • Added HTMLPurifier library


  • Fixed a bug where content was being sent before a redirect causing a blank page.


  • Added the ability to toggle between using a div or a blockquote for the testimonial text


  • Added word_limit to shortcodes and widgets. This limits the number of words shown on a testimonial.
  • Added char_limit to shortcodes and widgets. This limits the number of characters shown on a testimonial.
  • Allow loading testimonials through javascript. You MUST enable this option in the advanced settings area before using it.
  • Updated documentation


  • Fixed a bug with WordPress MultiSite not showing testimonials in wp-admin
  • Fixed a few bugs with SQL queries regarding multisite functionality
  • Added new option to hms_testimonials_show_rotating and rotating widget to not automatically start rotating. For the shortcode add autostart="false" For the widget there is a checkbox.
  • Added new option to hms_testimonials_show_rotating and rotating widget to change the position of the Prev, Pause/Play and Next links. Options are top, bottom, or both. It defaults to bottom. For the shortcode use link_position="top" or any of the 3 options. The widget now has a drop down to select the position.


  • Added filters to the templates. hms_testimonials_system_id, hms_testimonials_system_testimonial, hms_testimonials_system_source, hms_testimonials_system_date, hms_testimonials_system_url, hms_testimonials_system_image, and all custom fields fall under hms_testimonials_cf_ with their name lower cased.

An example to limit a testimonial to 100 characters:

function testimonial_go($text) { return substr($text, 0, 100); } add_filter('hms_testimonials_system_testimonial', 'testimonial_go');

If you change the code to the following, you can get access to the testimonial array:

function testimonial_go($text, $testimonial) { return substr($text, 0, 100); } add_filter('hms_testimonials_system_testimonial', 'testimonial_go', 10, 2);


  • Fixed a bug with pagination when not using permalinks. This also fixes an issue if you had any other query arguments in your url as well.


  • Fixed a few issues noticed by Brit Albritton on the forums.


  • Added filters to change the text for the public testimonial form fields. hms_testimonials_sc_name, hms_testimonials_sc_website, hms_testimonials_sc_testimonial and hms_testimonials_sc_submit


  • Now Catches an exception thrown on the testimonial date field when using a date format that DateTime doesn't like. A friendlier message is now shown.
  • Added the jQuery UI datepicker to the testimonial date.


  • Fixed a bug with templates not saving correctly


  • Create custom fields
  • Create your own templates for displaying your testimonials
  • Add an image from the gallery to your testimonial
  • Added the ability to change the collation of the testimonial fields. Useful for languages that require UTF-8
  • Some settings moved to an advanced settings page
  • Miscellaneous bug fixes
  • Set the date format


  • Miscellaneous bug fixes
  • Added "order" and "direction" attributes to the [hms_testimonials] shortcode. Valid items for "order" are name,testimonial,url,testimonial_date, and display_order. Valid directions are ASC and DESC
  • Added row classes to the form.


  • Added the TinyMCE editor to the testimonial textarea
  • Added a testimonial date field.
  • Added more templates to account for the date field
  • Added new options for the [hms_testimonials] shortcode to limit the results and paginate them. These are limit, start, next, prev, location.


  • Fixed bug where new line breaks were not being added in some instances.


  • Added a template attribute to the shortcodes and widgets to specify the order of the testimonial, author and url.
  • Updated documentation to reflect the new template attribute.


  • Added Prev,Pause(Play), and Next links to the rotating shortcode and widget.
  • Updated the shortcode widget form to set the text for the links.
  • Updated the documentation page to reflect these new options.


  • Added a new shortcode ( [hms_testimonials_form] ) to allow website visitors to submit testimonials.
  • Added reCAPTCHA settings (enable/disable, public/private keys) to the settings for the form
  • Added a setting to allow or disallow a moderator to access the settings pages
  • New testimonials have a display order set to put them at the end of the list


  • Each testimonial now sits in a div container. Each part also sits in a container. testimonial, author and url classes have been added to each part.
  • Added settings to show the URLs of testimonials as an active link and whether or not to add a nofollow relationship on them.


  • Moved admin pages to a class. This helped decrease the amount of queries to the database and removed global functions
  • Added a rotating testimonial shortcode. Use with [hms_testimonials_rotating group=1 seconds=6]
  • Added custom created roles to the drop downs
  • Added a moderator role setting
  • Added the ability to limit the number of testimonials a can create.


  • Added the ability to allow users of lesser roles add / edit their own testimonials. The administrator email address will receive a notification for all new and updated testimonials.


  • Fixed the slashes being added in front of quotes and apostrophes in your testimonials.


  • Plugin is released to WordPress

Requires: 3.5 or higher
Compatible up to: 4.0.14
Last Updated: 2 years ago
Active Installs: 5,000+


4.8 out of 5 stars


0 of 1 support threads in the last two months have been marked resolved.

Got something to say? Need help?


Not enough data

0 people say it works.
0 people say it's broken.

100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,2,2
100,2,2 100,1,1 100,1,1
100,2,2 100,2,2
100,1,1 100,2,2
0,1,0 100,1,1 100,1,1
0,1,0 100,1,1 100,2,2