This version adds some highly requested features and improves slideshow compatibility.

Template variations

The templates were reorganized. Variations are now options instead of separate templates.

Was Now
Default Default & options: image on left, light theme, with a quote symbol
Default Dark Default & option: dark theme
Default with Image on Right Default & option: image on right
Default with No Quotes Default & option: no quote symbol
Large Widget Bold
Widget Small Widget & option: image on left
Widget with Image on Right Small Widget & option: image on right

The new template list in the view editor showing the consolidated options:

The update process will convert your views to the new templates but please double-check them.

This is backwards-compatible so it will still recognize custom templates in your theme. Start a support ticket if you would like help converting your custom template to the new format to ensure future compatibility and to take advantage of new features.

Shortcode attributes

Optional shortcode attributes will override the view settings. This allows you to create reusable view patterns.

For example, imagine you have 3 services, a sales page for each, and a testimonial category for each service. Before, you would need to create a view for each category.

Now, you can create one view and use it as a pattern for all categories.

Before Now
[testimonial_view id=1]
with category “alpha” selected
[testimonial_view id=1 category="alpha"]
[testimonial_view id=2]
with category “beta” selected
[testimonial_view id=1 category="beta"]
[testimonial_view id=3]
with category “gamma” selected
[testimonial_view id=1 category="gamma"]

The override attributes are:

  • post_ids
  • category
  • order
  • count

Find examples in the view editor and the Help screen tab.

I resisted this for a long time. Long shortcodes are oxymoronic. Views are meant to provide a simpler alternative.

Shortcodes often get out of control and practically have their own dialect with dozens of attributes, each with multiple options, that may or may not be intuitive or easy to remember, forcing you to constantly refer to some tutorial or the plugin readme.

But now I see the value in this hybrid approach. I welcome suggestions for other attributes as long as they help views serve as reusable patterns.

View options

You can now set the font color. No more confusing “dark text / light text” option that only worked in the preview. I admit, I should have added that from the start.

You can now add a CSS class name to the image link when using the option to open the full-size Featured Image in a lightbox. This makes it easier to use a lightbox that may already be included in your theme instead of having to install a lightbox plugin just for testimonials.

Slideshows

Touch swipe navigation on the slideshow is enabled by default. This allows you to swipe left or right on mobile devices and touch screens as well as with the mouse on desktop monitors. Sometimes that interferes with a vertical swipe to simply scroll the screen up or down. So a new option allows you to disable touch swipe altogether. I recommend disabling it when any testimonial slideshow covers more than half the screen on the smallest mobile device you expect your visitors to use.

A bug was fixed in the slider script to improve compatibility with the latest version of Chrome.

Other stuff

The form now uses the built-in WordPress function is_email to validate email addresses. This offers compatibility with plugins like Byteplant Email Validator that claim to verify email addresses. (I have not tried that service so don’t ask me if it really works.)

The [testimonial_count] shortcode now uses the built-in WordPress function number_format_i18n to properly format and localize the thousands separator; e.g. 1,000.

And I pared down the slideshow CSS to simplify the custom CSS needed to style the slideshow controls.

Many thanks for all the feature requests and constructive feedback.

Chris Dillon

About the author: Chris Dillon is a WordPress developer in Cleveland, Ohio, USA. When not trying to figure out why his plugins aren't working, he walks his rescue dog Gordo, takes a nap in the backyard or makes a mess in the kitchen.