Testimonial Basics


Testimonial Basics is a full featured testimonial management plugin.

  • backup and restore testimonials
  • setup input forms in content or widget areas
  • Author,Email,Testimonial are required input fields
  • Testimonial Title,Location,Website are optional input fields
  • two additional customizable input fields
  • show testimonials in content or widget areas
  • group testimonials for separate display
  • use 5 star rating system
  • use sliders and excerpts
  • optionally use schema/google snippet markup
  • black and white or color captcha built in, NOW INCLUDES reCaptcha
  • customize text color and background color
  • 4 layouts for content display, 6 for widget
  • use one of nine web friendly fonts
  • include gravatars
  • easily edit and approve testimonials in the admin panel
  • pagination available in 3, 5, or 10 testimonials per page
  • help available in admin panels
  • translations : French, Dutch, German, Spanish
  • RTL compatible


  • Copyright (C) 2017 kevinhaig kevinsspace.ca
  • Testimonial Basics is licensed and distributed under the terms of the GNU GPLv3
  • License URI: http://www.gnu.org/licenses/quick-guide-gplv3.html

    Testimonial Basics is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.

    Testimonial Basics is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with Foobar. If not, see http://www.gnu.org/licenses/.


  • Option Panel

  • Edit Panel

  • Content Display Layouts

  • Content Display Mosaic

  • Widjet Display Layouts

  • Input forms


  1. Upload Testimonial Basics to the plugin directory
    (wp-content/plugins/testimonial-basics) of your wordpress setup.
  2. Ensure all sub directories are maintained.
  3. Activate the theme through the WordPress Admin panel under “Plugins”.


Installation Instructions
  1. Upload Testimonial Basics to the plugin directory
    (wp-content/plugins/testimonial-basics) of your wordpress setup.
  2. Ensure all sub directories are maintained.
  3. Activate the theme through the WordPress Admin panel under “Plugins”.
Is there documentation for the plugin?

Yes. Detailed documentation is available at http://kevinsspace.ca/testimonial-basics-user-documentation/

Page load speeds are slow

If your page load speed is slow it will likely be because you are using Gravatars and you are not using a cache plugin. It is recommended that you use a cache plugin for any site, whether or not you are using Gravatars for Testimonial Basics. I use WP Super Cache.

My testimonial is not showing?

Ensure it is approved.

I just approved a testimonial and it is not showing?

If you have a cache plugin installed such as WP Super Cache, the page you use to display your testimonials may be cached. Simply edit the page and update it or wait and the cached files will eventually be deleted and refreshed.

When I input a color number in the cell the color won’t change?

Hit the enter key.

Why can’t users upload photos?

Users are not allowed to upload photos because it is a security issue. Use of gravatars is highly recommended. Administrators have the ability to add images in the Edit Testimonials admin panel.


Terrific well-featured and zero learning curve

I have to say that this plugin, for a free level plugin, is just outstanding and it’s outstanding for Kevin the developer to enable all the right features without complicating things for an up-sell. With styling options and straight-forward settings it gives me exactly what I need – an input form and with custom inputs and surprising display features. A big thank you and highly recommended!

p.s. It’s working on WP 4.9.1 for me.

Near Perfect!

Would be nice to have additional formatting capabilities but, other than that, it’s a truly outstanding plug-in

Super mais…

Ne fonctionne pas sous WP 4.6.1
De nombreux bugs.
Ergonomie à revoir (un peu).

Vivement une révision que j’attends avec impatience.
Does not work on WP 4.6.1 Many bugs.
Ergonomics to review (a little).
Highly review I look forward.

Read all 49 reviews

Contributors & Developers

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


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

Translate “Testimonial Basics” into your language.

Interested in development?

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



  • modifed reCaptcha system to hopefully eliminate errors during setup
  • changed captcha enqueue handle to google-recaptcha from katb-recaptcha to
    eliminate this error: ReCAPTCHA placeholder element must be empty which occured when using Contact Form 7


  • removed dashoard icon from admin panels
  • fixed a bug in katb_recaptcha.js preventing the reCaptcha from loading in content areas


  • changed google reCaptcha link in options section


  • added nofollow to website link
  • fixed translation problem on popup alerts
  • added Google reCaptcha


  • removed array initializations using “=”” because they were causing notices in PHP 7.1.1
  • updated copyright


  • fixed translation bug that caused css problems with the edit testimonials panel


  • added RTL support
  • added titles to testimonials
  • added two additional custom fields
  • added mosaic layout to content display
  • removed rateit.js and associated code, only the css system is now available
  • fixed bug in katb_email_notification() added global $katb_options
  • moved content and widget layout options to separate templates
  • Switched to standard functions for widget and content display
  • modified popups to minimize function use
  • removed all unnecessary functions
  • modified html/css for content input form
  • re wrote the content area input form code
  • added in box labels to content input form
  • improved responsiveness of the content input form at less than 600 px width
  • improved translation by fixing bugs and changing css.
  • The “use group name” and “custom individual review name” options have been removed from the Schema Options section under the General Options tab. This is because a testimonial title has been added. If the user chooses to display a title, the testimonial title will be used if not blank, then the Group Name will be used if not blank, then the fall back will be used.
  • fixed issue of using custom pagination colors when custom color options are not being used
  • Use meta for titles schema so if titles are not shown the meta is available for Google
  • Removed rating aggregate from meta in widget display if user is not using ratings
  • Fixed date format to display WordPress setting even when schema is used
  • Modified captcha generation system to exclude loading php files which caused problems with some security plugins. To do this the image generation is now handled in functions and uses base64 encoding.
  • Fixed duplicate id errors for multiple entry forms
  • Removed backticks from database set up to reduce errors on upgarde
  • Updated Export/Import for the 3 additional fields
  • Updated contextual help documentation
  • Fixed popups so they are not set up if not required
  • fixed bug in Edit Testimonials Panel for deleting single testimonials
  • Fixed bug in popup becoming popunder in themes that use postion:relative styles. This was fixed by adding a script that moves all pupup sections to after the body tag.
  • Updated Translations


  • Fixed data valdiation for rating adding ‘0.0’ if not used. This was causing the insert to fail in the shortcode. Fixed the widget as well.
  • Set up notification email function, fixed html problem, translation problem, and removed download link in order to get wp_mail to work. There was a number of problems with emails not being sent….one of theme being a login link which had to be removed.
  • Changed .katb_right_box {width: calc(100% – 120px);} to width:auto; to avoid a css break in Safari.
  • Updated translations


  • Added support for WordPress Smiley’s
  • Added support for Emoji’s
  • Fixed bug in website required checks
  • Improved security


  • Changed schema format for individual reviews
  • Added css box
  • Changed custom styles to load using wp_add_inline_style() so they load after katb_user_styles.css
  • Removed katb_custom_styles.php and code associated with the file load
  • Improved security


  • fixed critical error on esc_html function


  • Escaped all translations
  • Added third Captcha Option, which is very simple but least secure, hopefully will avoid bots.
  • modified widgets to __construct()


  • fixed validation hexcolor to ka_color


  • 4.1.6 svn upload was done incorrectly


  • color picker stopped working after WordPress 4.2 upgrade, had to change the option class to ka_color because hexcolor was causing problems with the jQuery selector


  • added height: auto; to avatar styles.
  • Revamped schema for the new set up and tested every layout for the content and widgets with the structured data testing tool
  • Modified the content display code separating the ratings display from within the title block to its own function and block
  • Added some slight css changes to accommodate the content display changes
  • Updated copyright to 2015


  • fixed css bug carrying formatted title color to unformatted display in the widget rotator display
  • Added help comment about widget labels inside or above widget input boxes
  • Added font-family:”fontello-katb”!important; to .icon-katb-star:before, .icon-katb-star-empty:before, and .icon-katb-star-half-alt:before to improve compatibility
  • Added && isset($katb_paginate_setup) to line 305 katb_shortcodes.php , had Notice error for undefined variable
  • Passed $use_ratings variable called in line 541 katb_widget_display_testimonial() to katb_widget_insert_title(), because there was a Notice: katb_display_testimonial_widget.php:823 – Undefined variable: use_ratings
  • Improved database update code to remove plugin activation errors
  • In katb_custom_style.php wrapped in conditional if ( function_exists (‘katb_get_options’)){} because it was causing a php fatal error on reactivation of plugin


  • Fixed katb_insert_content, did not pass $use_schema variable
  • Added isset conditional to $_SESSION[‘katb_form_submitted’]
  • Removed hatom because it was causing problems with theme specific css
  • Modified css for meta in widgets and content
  • Fixed css styling for popup
  • simplified header styling for content area


  • fixed drop down rating for input forms
  • changed one of the screenshots
  • Fixed theme specific formats for .post author class by adding .katb class and style


  • minor update to re-upload and delete old css files


  • Fixed database issues by upgrading everyone to database 1.4
  • Added backup/restore panel. Users can now backup their testimonials to an xml file and restore them later
  • Added Side Meta layout option in content display
  • Modified css for Top Meta and Bottom Meta layouts
  • Fixed company div wrap to be inside conditional
  • Modified ratings to show nothing if rating is 0
  • Combined all custom styles to one file and load all styles regardless
  • Added layout and schema overrides to shortcode and widgets
  • Forced YYYY-MM-DD date format when using schema
  • Moved katb_input_style div to wrap title and email note
  • Modified css in edit panel so displayed testimonials reflect a better visual presentation
  • Added 4 more layout options to widgets, image and meta top or bottom, and centered image and meta top or bottom
  • Added round images
  • Changed excerpt filtering to a word count based system
  • Made many code and css improvements.
  • Changed layout on the displayed testimonials in Edit Panel
  • Changed Paypal button to donate


  • Bug fix, modified height settings for slider in the content display
    and in the widget display to prevent jerking of the display window.
  • Added position: inherit; to Gravatar styles


  • Bug fix, removed redirect from input widget
  • Added isset conditional for custom email address


  • User can now have more that one input form on a page
  • Improved error messaging by having either popup or on page,
    and allowing the user to select either option for both content
    and input widget forms.
  • Added bulk delete to admin panel
  • Fixed rateit.js warning
  • Added optional widget input form labels above inputs
  • Modified email note to make it optional in both the content and widget input forms
  • Added widget required label
  • Changed fadeIn on rotator from ‘slow’ to 2000ms
  • Added option for user to select jQuery star rating system or css system
  • Added option to select star color and star shadow color
  • Removed farbtastc reference in doc ready script.
  • Bug fix aggregate ratings will not be displayed if ratings are disabled.
  • Bug fix, validation on website and location
  • Removed group label option for widget as it was not being used
  • Improved Edit Panel to prevent page reload double entry and to remove bulk deleted
    testimonials from the display, done without page redirect
  • Changed tb_url and tb_pic_url to 150 characters
  • Added option to change captcha label
  • Fixed cursor inside popup to be a pointer
  • Modified katb_testimonial_basics_input_in_code() to include form number.


  • forgot to include function to display the input form in code, was in another
    working copy


  • fixed bug where wpautop was adding line breaks to rating html causing it to break
  • added function to display the input form in code


  • added option to use javascript alert message that testimonial was submitted
  • added German translation, Thankyou Frank!


  • fixed bug for loading excerpt script when only the widget one is checked
  • changed rotator and excerpt scripts to load in the footer
  • modified slider jquery for IE9&10 compatibility and independant speed variables
  • removed padding from katb_error
  • updated katb_list_testimonials() , initialized critical arrays for
    repeated use


  • bug fix – Testimonials were not being added to the database in Windows Servers
  • improvement – Spanish Translation added
  • bug fix – css in rateit.css, all widget testimonials were showing 5 stars


  • bug fix – changed $pend-count to $total in katb_add_unapproved_count()
  • bug fix – removed action=”#” from input forms and pagination form


  • bug fix – fixed custom font css for the widget and widget popup display
  • improvement moved … in excerpt to before close tags
  • improvement – set metabox styling in popup
  • bug fix – fixed popup to show title if use schema selected
  • bug fix – syntax error in rating input html content form
  • bug fix – fixed itallic setting for basic widget display
  • bug fix – fixed custom formatting to include rotator divs in widget
  • improvement – added option for auto approval


  • bug fix – fixed the custom text color option on the widget display author strip
  • bug fix – fixed the divide by zero error, when schema is selected and there are no ratings
  • Testimonial aggregate display will not be shown (including meta) unless there are 2 or more ratings
    and the average rating is greater than 0.
  • bug fix, input forms were sometimes submitting nothing for rating
    solved by switching from select input box to HTML5 range input


  • Added optional 5 star rating system
  • Added optional schema mark up
  • Improved edit testimonials view panel
  • Changed Options panel to tabbed for better organization
  • Set up photo upload button in admin Edit Testimonials panel
  • Added minimum height option to slider
  • Added option to use gravatar substitute
  • Changed slide hover icon to a pause icon
  • Updated slider options to include fade, slide-left, and slide-right, and time
  • Added font size option for input forms and display
  • bug fix, formatting in the widget popup was not working for paragraphs.
  • bug fix, excerpt filter was not leaving <br /> in, and when I put it in I had to fix the open <br problem
  • Fixed testimonials with no html. Line feeds were not being carried through to display. Did this by adding wpautop() to text elements.
  • Changed color captcha art
  • Added photo url and rating to database
  • Increased Group name to 100 characters
  • Added bubble count for unapproved testimonials
  • Added option to size gravatars
  • Modified slider for inside wrapper rotation
  • Added optional Title to displays
  • Added meta location option to top or bottom
  • Code optimization


  • Optimized pagination code
  • Made the website and location input optional
  • Set up form label options for both the content input form and the
    widget input form
  • Added testimonial rotator and reduced testimonial display shortcodes to one
  • Added testimonial rotator and reduced testimonial display widgets to one
  • Added sections to options panel
  • Removed filter.
  • General bug Fixes and code clean-up


  • no code changes
  • had problems with the svn


  • added a color option for captcha
  • added link tag to allowed html for user submissions
  • updated html allowed on admin page to wp_kses_post, giving full access
    to post html tags
  • added strict image formatting
  • added pagination to edit testimonials admin panel
  • added pagination option for displaying all or grouped testimonials
    by date or order
  • changed date display format to the default selected in the
    Settings => General Tab
  • updated output data validation
  • Minor bug fixes and code clean-up
  • added Dutch translation
  • modified code to allow gravatars in excerpt pop-ups
  • testimonials in the admin edit panel are now displayed most
    recent first


  • added multiple testimonial widget
  • added random shortcode for main area displays
  • added excerpt for widgets, main area and function
    testimonials displays
  • added email for contact about submitted testimonials
  • set up captcha text input to be fully selected on click
  • changed coding of the main area input form to a shortcode
    format to minimize potential plugin conflicts and duplicate
    entry issues
  • modified captcha coding letter selection, and variable names
    to minimize potential conflicts
  • added option to allow WordPress editor levels to edit testimonials
  • html tags allowed p,br,i,em,strong,q,h1-h6
  • html strip now displayed as an option
  • Fixed \ problem in emails
  • Corrected blogBox references in validate function
  • Table encoding issue resolved with a table set up modification
    for new installs and a blog post on updating existing tables.
  • When using order to display testimonials they are now displayed
    in ascending order.
  • incorporated new color picker with fallback to color wheel for older
    versions of WordPress


  • fixed bug for uploading testimonials
  • fixed bug for loading gravatar logo


  • allowed paragraph and line break tags in in comments
  • added default font to custom styling
  • added option for italic style both in basic and in custom styling
  • added groups so users can group testimonials and display them in
    separate pages.
  • added an option to use gravatars if present.
  • modified Edit Testimonials Panel to accomodate Groups and e-mail
  • removed user documentation from plugin, available at plugin site
  • website link now opens a new tab
  • optimized css styling
  • fixed strip slashes bug in input title and e-mail note


  • added user options for input forms
  • added user options for content testimonial display
  • added user options for widget testimonial display
  • re-coded e-mail validation
  • widget display box height adjusts to 12 em max
  • increased captcha width
  • fixed bugs in e-mail send
  • fixed minor bug in activation function
  • fixed undefined variable bug in display scripts
  • fixed zero and one testimonial display bug
  • fixed esc_url() php warning bug
  • changed link to plugin page
  • fixed type bug on widget testimonial display


  • Initial Release