Plugin Directory

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.13
Last Updated: 2 years ago
Active Installs: 6,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