WP Manifestindependent plugin directory
manifest / ecommerce / true-video-product-gallery

True Video Product Gallery

Replace the default WooCommerce product gallery with a powerful video-capable slider supporting YouTube, Vimeo, TikTok, Instagram Reels, and self-hosted videos.

by SLDevs · github.com/merlinstacks/true-video-product-gallery · website

0stars
0forks

Install

No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:

wp plugin install https://github.com/merlinstacks/true-video-product-gallery/archive/refs/heads/main.zip

Replace the default WooCommerce product gallery with a powerful video-capable slider supporting YouTube, Vimeo, TikTok, Instagram Reels, and self-hosted videos.

Description

True Video Product Gallery modernizes your WooCommerce product pages by replacing the default gallery with a robust, video-capable slider.

Key Features

  • Multi-Platform Video Support – YouTube, Vimeo, TikTok, Instagram Reels, and self-hosted MP4/WebM/OGG
  • Lazy Loading Facade – Displays thumbnail with play button; iframe loads on click for best Core Web Vitals
  • Automatic Vimeo Thumbnails – Fetches thumbnails via oEmbed API with 24-hour caching
  • Variation Video Support – Assign different videos to each product variation
  • "Use Same Video for All" – One checkbox to apply main video to all variations
  • Custom Thumbnails – Override auto-generated thumbnails with your own images
  • Video Preload Strategy – Choose Lazy, Metadata, or Auto preloading
  • Gallery Auto-Scroll – Optional slideshow mode with configurable image delay and video-finish-aware progression
  • Transition Effects – Lightweight slide default with optional fade transition
  • Shortcode with product_id[tvpg_gallery product_id="123"] works anywhere
  • REST API – GET and POST endpoints for settings management
  • Theme Compatibility – Works with Flatsome and most WooCommerce themes
  • Archive Product Hover Video – Fades from product image to video on desktop hover with pause/resume behavior
  • Modern Admin UI – React-based settings dashboard

Requirements

  • WordPress 6.4+
  • WooCommerce 8.0+
  • PHP 8.0+

Installation

  1. Upload the plugin to /wp-content/plugins/true-video-product-gallery or install via WordPress Plugins screen.
  2. Activate the plugin through the 'Plugins' screen.
  3. Go to True Video Gallery in the admin menu to configure settings.
  4. Edit any WooCommerce product and use the Product Video tab to add videos.

Frequently Asked Questions

Does this work with variable products?

Yes! You can assign videos to individual variations or use the "Use same video for all variations" checkbox.

What video platforms are supported?

YouTube, Vimeo, TikTok, Instagram Reels, and self-hosted MP4/WebM/OGG files.

Can I use the gallery outside of product pages?

Yes, use the shortcode [tvpg_gallery product_id="123"] anywhere.

Does this affect page speed?

No! The lazy loading facade ensures YouTube/Vimeo iframes only load when clicked, improving Core Web Vitals.

Is WooCommerce required?

Yes, this plugin requires WooCommerce to be installed and active.

Screenshots

  1. Frontend gallery with video slide
  2. Product Video tab in WooCommerce product editor
  3. Variation videos table with custom thumbnails
  4. Global settings page with preload options

Changelog

1.7.18

  • Replaced the manual category-preview upload field with automatic background generation from the existing local product video.
  • Generates a muted, up-to-eight-second, max-480px H.264 MP4 preview when a compatible FFmpeg installation is available; only smaller validated outputs are used.
  • Keeps the original on product pages and as an archive fallback while queued, unavailable or failed. Simultaneous category playback is unchanged.
  • Added bounded encoding, shared-source caching, retries, safe cleanup and real-encoder regression tests.

1.7.17

  • Added an optional Category Preview Video field with media-library selection in classic and block editors.
  • Shop/category cards prefer the preview and fall back to the existing product video when blank or unsupported; product-page videos are unchanged.
  • Preserved simultaneous in-view playback and deferred loading. Preview files are uploaded separately, not automatically compressed.

1.7.16

  • Reduced archive assets and deferred secondary media loading while preserving simultaneous in-view video previews.
  • Fixed offscreen playback, delayed player activation, AJAX card initialization and theme fallback handling.
  • Moved Vimeo thumbnail refreshes to background jobs and improved responsive image loading.
  • Fixed variation slider modules and improved gallery keyboard, lightbox and reduced-motion support.

1.7.15

  • COMPATIBILITY: Updated template metadata for WooCommerce 11.1.0
  • COMPATIBILITY: Preserve WooCommerce 11 native product gallery videos in the TVPG gallery
  • COMPATIBILITY: Updated tested versions for WordPress 7.1 and WooCommerce 11.1
  • IMPROVED: Restored standard WooCommerce gallery class and column filters
  • FIX: Preserve iframe referrer policies during output sanitization

1.7.14

  • FIX: Restored reliable single-product gallery rendering on standard WooCommerce themes
  • FIX: Shortcode galleries now load required frontend assets outside product pages
  • FIX: Product block editor video meta now reads and saves through the registered REST meta fields
  • FIX: Multiple galleries and quick-view galleries are now scoped independently on the frontend
  • FIX: Hardened provider URL parsing to avoid matching YouTube/Vimeo-like paths on unrelated domains
  • IMPROVED: Updated build/test tooling, coding standards compliance, and dependency audit status

1.7.13

  • IMPROVED: Softened mobile in-viewport archive transitions with a short entry delay and smoother image-cycle startup to reduce snappy swaps while scrolling

1.7.12

  • PERF: Limited concurrent mobile archive image cycles for Flatsome loop cards to reduce animation/timer load on long product grids

1.7.11

  • FIX: Smoothed mobile archive reverse transition by delaying secondary-layer hide until fade-out completes, removing the abrupt 2 -> 1 snap

1.7.10

  • FIX: Flatsome mobile scroll no longer forces image-only archive cards into a stuck secondary state from touch events

1.7.9

  • FIX: Flatsome mobile archive cards without video now alternate between primary and secondary media while in view instead of getting stuck on the second image

1.7.8

  • FIX: Added mobile-safe image auto-scroll fallback that keeps cycling even when touch/scroll interactions interrupt slide change callbacks

1.7.7

  • FIX: Auto-scroll image progression now uses explicit slide indices to avoid mobile flicker and ensure slide 1 -> 2 transitions run reliably

1.7.6

  • FIX: Auto-scroll now wraps back to the first slide after the last image, preventing mobile galleries without videos from getting stuck on the second image

1.7.5

  • FIX: Improved Flatsome category-card compatibility for archive media swap visibility
  • FIX: Prevented hover back-image conflicts by removing theme back-image nodes on TVPG loop cards
  • FIX: Scoped equal-height reset for TVPG archive grids to eliminate large row gaps
  • IMPROVED: Added safer archive state initialization to avoid cards loading in active/hidden state
  • IMPROVED: Refactored archive swap inline-style application for lower overhead and easier maintenance

1.7.4

  • NEW: Added admin setting "Enable Archive Hover Swap" as a UI kill switch for archive/category loop media swap
  • IMPROVED: Archive swap runtime now respects the new setting while still supporting constant override

1.7.3

  • FIX: Prevent Flatsome hover back-image from overriding TVPG loop video/image swap

1.7.2

  • FIX: Restore archive loop payload fallback for theme markup differences
  • FIX: Reset loop active state on init to prevent primary image hidden on load
  • FIX: Re-enable JS media wrapper injection fallback for archive cards

1.7.1

  • FIX: Prevent archive/category product image disappearing when theme returns empty primary image HTML

1.7.0

  • NEW: Gallery auto-scroll with configurable image delay and video-finish-aware progression
  • NEW: Transition effect setting (Slide default, optional Fade with automatic fallback)
  • NEW: Keyboard tab navigation in settings (Arrow keys, Home, End)
  • IMPROVED: Modernized settings dashboard layout, spacing, and visual hierarchy
  • IMPROVED: Sticky unsaved-changes action bar with save/discard actions
  • IMPROVED: Settings page remembers last active tab

1.6.0

  • COMPATIBILITY: Updated for WordPress 6.8+ and WooCommerce 9.x
  • COMPATIBILITY: Declared WooCommerce Cart/Checkout Blocks compatibility
  • IMPROVED: Script deferral now uses native WP 6.3+ strategy API instead of script_loader_tag filter
  • IMPROVED: Block editor dependency updated from deprecated wp-edit-post to wp-editor (WP 6.6+)
  • IMPROVED: Admin notices use wp_admin_notice() API (WP 6.4+)
  • IMPROVED: Replaced deprecated HTML frameborder attribute with CSS border:none on iframes
  • CHANGED: Minimum PHP version bumped to 8.0 (PHP 7.4 reached EOL Nov 2022)
  • CHANGED: Minimum WordPress version bumped to 6.4
  • CHANGED: Minimum WooCommerce version bumped to 8.0

1.5.3

  • FIXED: Swiper navigation arrows showing "next"/"prev" text instead of SVG icons
  • FIXED: Navigation arrows and thumbnail strip visible on single-image products
  • FIXED: Zoom cursor shown on gallery images even when lightbox is disabled
  • FIXED: fetchpriority attribute silently stripped from video tags by wp_kses

1.5.2

  • IMPROVED: Deferred Swiper + frontend JS to remove ~90KB of render-blocking scripts
  • IMPROVED: Upgraded dns-prefetch to preconnect for YouTube/Vimeo thumbnail CDNs
  • IMPROVED: First gallery image marked as LCP candidate with fetchpriority="high" and eager loading
  • IMPROVED: First thumbnail loads eagerly for above-fold rendering
  • IMPROVED: Self-hosted video elements deprioritised with fetchpriority="low"

1.5.1

  • FIXED: Plugin zip archive now uses forward-slash paths, fixing "Plugin file does not exist" on Linux servers

1.5.0

  • Version bump for deployment with all 1.4.0 improvements

1.4.0

  • NEW: WooCommerce Block Editor (Gutenberg) integration — video panel works in both classic and block editors
  • NEW: Progressive web-optimised embeds with lazy facades for YouTube, Vimeo, TikTok, Instagram
  • NEW: DNS prefetch resource hints for video provider thumbnail domains
  • IMPROVED: Admin UI with fast-loading tabs and scoped CSS/JS to prevent bleed into other pages
  • IMPROVED: Responsive admin breakpoints for mobile and tablet
  • FIXED: Multiple bug fixes from comprehensive code audit

1.3.0

  • NEW: REST API video URL parsing endpoint (eliminates duplicated regex in admin JS)
  • IMPROVED: Decomposed monolithic frontend class into dedicated Gallery Renderer, Video Embed, and Schema classes
  • IMPROVED: Conditional Swiper loading — only loads when gallery has more than one slide
  • IMPROVED: CSS scoping and asset isolation for admin pages
  • SECURITY: Additional nonce and capability hardening
  • FIXED: Double gallery rendering on standard WC template themes
  • FIXED: Broken lazy facade, incorrect Vimeo ID parsing
  • FIXED: Variation video persistence edge cases

1.2.1

  • Minor code quality improvements and optimizations
  • Updated WordPress compatibility to 6.7

1.2.0

  • NEW: TikTok and Instagram Reel video support
  • NEW: Vimeo thumbnail auto-fetch via oEmbed API
  • NEW: Lazy loading facade for YouTube/Vimeo (better performance)
  • NEW: Video preload strategy setting (Lazy/Metadata/Auto)
  • NEW: Custom thumbnail per variation
  • NEW: Centralized variation videos in Product Video tab
  • NEW: "Use same video for all variations" checkbox
  • NEW: Shortcode product_id attribute support
  • NEW: REST API GET endpoint
  • NEW: WooCommerce dependency check with admin notice
  • SECURITY: Added nonce verification, capability checks, URL validation
  • IMPROVED: Centralized settings class, reduced code duplication
  • IMPROVED: Complete PHPDoc documentation

1.1.0

  • ADDED: Flatsome Theme Compatibility
  • ADDED: Shortcode support and hijacking
  • FIXED: Variation video persistence issues

1.0.0

  • Initial release

Upgrade Notice

1.7.0

Major settings UX refresh with new gallery auto-scroll and transition controls. Includes compatibility-safe fallbacks for storefront stability.

1.2.0

Major update with TikTok/Instagram support, performance improvements, security fixes, and new settings. Recommended for all users.