VideographyWP PRO 1.1.9: One Video, One Player

Written by

in

Version 1.1.9 of VideographyWP PRO is out. It fixes a duplication bug that a few of you ran into, and it replaces the plugin’s admin AJAX layer with proper WordPress REST API endpoints.

Here’s what changed and why it matters.

Fixed: duplicate video players

If your site loads content through AJAX — an archive that paginates without a page reload, a filtered post grid, an infinite-scroll listing — you may have seen the same video appear twice. Then three times. Then more.

The cause was on our side. When another plugin refreshes part of a page, it usually announces it by firing an event, so that anything on the page can reinitialize itself. VideographyWP listened for one of those events and rebuilt the video player each time it heard it — without first checking whether a player was already there. Every refresh added a new player on top of the old one, and they piled up.

This showed up most clearly on sites running **Toolset Views**, whose AJAX pagination fires exactly that kind of event. To be clear, Toolset was doing nothing wrong; our plugin was simply reacting to it badly.

In our tests, five pagination events turned one video into five stacked copies. With 1.1.9, the player recognizes that it has already been initialized and reuses the existing instance instead. The count stays at one, however many times the page refreshes itself.

A related case is fixed too: when a page builder or another plugin runs post content through the WordPress content filters more than once, the video could be embedded again on each pass. It is now embedded once per post, per page load.

The admin now talks to WordPress over the REST API

Behind the scenes, everything the plugin does in wp-admin — searching for a video, removing one from a post, testing your YouTube API key — used to go through `admin-ajax.php`. As of 1.1.9, all of it runs on dedicated WordPress REST API endpoints.

This is invisible if everything was already working. It matters if it wasn’t:

  • Fewer conflicts with security and performance plugins.** `admin-ajax.php` is a frequent target for rate limiting, blocking and aggressive caching rules, because it is a single endpoint shared by every plugin on the site. Named REST routes are easier for those tools to treat correctly.
  • Stricter request handling.** Each endpoint declares which HTTP method it accepts, validates and sanitizes its arguments, and checks permissions before doing any work.
  • A cleaner foundation.** The REST API is the interface the rest of WordPress is built around, which makes future integrations considerably less painful.

We also tightened one permission check along the way: testing your YouTube API key now explicitly requires administrator capabilities, where before it only verified the request nonce.

WooCommerce 10.7

The plugin is tested and declared compatible with WooCommerce 10.7.

How to update

Update from **Plugins → Installed Plugins** in your WordPress dashboard as usual, or download the latest build from your CodeFlavors account.

If you were seeing duplicated players, that is the update to install. If you were not, 1.1.9 is still worth taking — the REST API change removes a whole category of conflicts before they reach you.

A note on bug reports

The duplication bug reached us because someone took the time to describe exactly what they were seeing, on which pages. That is what made it possible to reproduce it and fix it properly, rather than guess.

So if something looks wrong, please tell us. Details about your theme, your other active plugins, and what you were doing when it happened turn a vague report into a fix.

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *