This version fixes 3 bugs, adds pagination options, and adds compatibility for themes and plugins that use Ajax page loading.

Fixed

If a database error occurred during activation, a rare occurrence, the plugin would get stuck in a redirect loop.

The custom user capabilities introduced in version 2.27 were not being checked in multisite installations.

Standard pagination was not adding a trailing slash if needed which resulted in broken URLs.

New Features

Standard pagination (paged URLs: /page/2, /page/3, etc.) now brings all the options offered by WordPress.

  • Customizable previous/next links
  • Condensed page numbers
  • Custom text before and after each page number

Simple pagination, where pagination is added without affecting the URL, will have those options soon.

Compare pagination methods and see demos here.

And a subtle transition effect was added for simple pagination. Check it out.

Compatibility

The web is quickly becoming more animated. More WordPress themes are now including fancy transition effects when loading pages and posts. For example, when viewing a new page, you might see a semi-transparent white overlay with a spinner in the middle. When the next page is fetched, the overlay fades out and the new content appears.

These transition effects use Ajax and HTML5’s history functions, a combination sometimes called Pjax, to (1) replace page content and (2) update the browser address bar without reloading the entire page. When implemented well, it can really improve your visitor’s experience.

It’s also problematic, especially for WordPress.

Normally, when the page load is complete, the browser fires off a signal generally known as “document ready”. It means the content has been displayed and now the fancy stuff can begin. Plugins with front-end output rely on that signal to know when to start sliders, insert Google maps, apply grids like Masonry, and so on.

Ajax page loading breaks that. The document ready signal only fires the first time the page is loaded instead of every time the content changes.

In Strong Testimonials, that meant that slideshows were not starting, pagination was not being added, and the form was not validating properly. I first encountered this more than a year ago. Then the problem came up three times in the past few months. I call that a trend so I decided to tackle it head on.

Why is it problematic for WordPress?

Because of the sheer number of available plugins that rely on document ready. Any plugin may not work simply because the theme has hijacked the document ready signal. It’s a rather shortsighted design choice and we as a community need to find a universal solution.

Three Weeks Later

Strong Testimonials is now 99% compatible with Ajax page loading. It required rewriting much of the slider and pagination scripts as well as building a controller to monitor changes without relying on document ready. It was quite challenging.

At the time of this writing and as far as I have tested, Strong Testimonials is the only free testimonials plugin with sliders and pagination that is compatible with Ajax page loading.

Why 99%? What 1% remains? The form Captcha integrations. Those plugins rely on… you guessed it: document ready. So I need to integrate them into the new controller.

To enable this new feature, go to Testimonials > Settings > Compatibility tab and set “Ajax Page Loading” to General. There are advanced options for developers with specific requirements.


Update

There were some bugs and it took a few point updates to work them all out. This update required refactoring many moving parts and I simply failed to test everything properly. Version 2.28.4 is stable. Thanks to everyone who reported the bugs and thanks for your patience.

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.