Plugin documentation

Product Demo Video for WooCommerce

Free 0.1.2 and Pro 0.1.2 setup, testing, billing, privacy, troubleshooting, rollback, and StoreFixKit Support.

Free 0.1.2 and Pro 0.1.2 documentation.

Product Demo Video adds one validated product video without changing the WooCommerce image gallery. Free accepts one HTTPS YouTube URL and renders a lazy, responsive, privacy-enhanced embed in a standard section below the product summary.

Requirements

Component Requirement
WordPress 6.2 or newer
PHP 7.4 or newer
WooCommerce 8.9 or newer, active
Free source One public HTTPS YouTube URL on a published product
Pro sources YouTube, Vimeo, or one valid WordPress Media Library video attachment

Add a YouTube video with Free

  1. Install and activate WooCommerce.
  2. Install Product Demo Video for WooCommerce from WordPress.org after its directory listing is approved, or upload the supplied Free 0.1.2 ZIP.
  3. Open Products and edit one product.
  4. In the normal Product data > General panel, find Product demo video.
  5. Paste one supported public HTTPS YouTube URL and update the product.
  6. View the published product and scroll below its summary.
WooCommerce product editor showing the Product demo video YouTube URL field
Free adds one URL field to the existing product editor and stores only the normalized YouTube identifier.

Supported YouTube forms include normal watch URLs, youtu.be links, /embed/ URLs, and /shorts/ URLs when they use HTTPS and contain one valid 11-character video identifier.

Verify the storefront result

  1. Confirm the video section has a visible heading.
  2. Confirm its frame remains 16:9 on desktop and mobile.
  3. Confirm the existing featured image, thumbnails, zoom, lightbox, and gallery order are unchanged.
  4. Confirm the player does not autoplay.
  5. Remove the URL, update the product, and confirm the section disappears without affecting product images.
WooCommerce product page with a responsive Product demo video section below the summary
The video uses an independent section after the product summary; it does not enter the gallery.
Mobile WooCommerce product page with a responsive 16 by 9 demo video frame
The iframe has stable 16:9 dimensions and no horizontal overflow on a narrow viewport.

What Free changes

Free validates the submitted URL and stores only _sfk_pdv_youtube_id on that product. On an eligible published single-product page, it emits one titled section with a lazy iframe from youtube-nocookie.com.

It does not fetch YouTube data on the server, download a thumbnail, inspect or replace the gallery, autoplay, track views, inject video schema, scan the catalog, or add a sitewide script or stylesheet. Missing or invalid saved data renders nothing.

What Pro adds

Pro keeps the one-video limit and adds three named source choices: YouTube, Vimeo, or a video already in the WordPress Media Library. It also lets the merchant use a standard section below the summary or a Product Video tab, and set a default or per-product title.

WooCommerce product editor with Pro video source, URL, Media Library, and title controls
The merchant chooses one source in the normal product editor. Invalid Pro data falls back to the valid Free YouTube video.
Product Demo Video Pro settings with section or tab placement and default title
Pro adds one placement choice and one bounded default title, not a gallery or layout builder.

For a Media Library source, Pro verifies that the selected attachment is a video with a current URL, then renders it through WordPress's native video shortcode. Local video bandwidth and browser compatibility remain the site's responsibility.

If Pro, billing, or the license service is unavailable, the valid Free YouTube descriptor remains in control. Pro never leaves a broken replacement when its own source is missing or invalid.

Start the 14-day Pro trial

  1. Open the Product Demo Video product page.
  2. Select Start 14-day trial. No card is required to begin.
  3. Stripe returns to the StoreFixKit success page; the signed webhook creates a product-bound single-site license.
  4. Copy the key and download the Pro 0.1.2 ZIP.
  5. Keep Free active, upload and activate Pro, and paste the key in WooCommerce > Product Demo Video.
  6. Add a payment method before day 14 only if you want the $79/year subscription to continue. Without one, Stripe cancels it at trial end.

Privacy, security, and resource use

  • Product saves require an editor capability and a product-bound WordPress nonce.
  • Settings require manage_woocommerce and WordPress nonces.
  • Remote URLs are restricted to recognized HTTPS YouTube or Vimeo hosts and bounded identifiers.
  • Titles are plain text capped at 80 characters; output is escaped.
  • YouTube uses the privacy-enhanced embed domain and loading="lazy". A third-party player can still receive visitor data when the iframe loads; update the site's privacy disclosure as appropriate.
  • There is no server-side remote fetch, transcoding, analytics, autoplay script, gallery mutation, custom table, cron, telemetry, or storefront StoreFixKit request.
  • A local Media Library video uses the site's own storage, bandwidth, and WordPress player assets only on pages where that video renders.

Troubleshooting

The URL is rejected

Use a public HTTPS YouTube link in Free. Private hostnames, HTTP URLs, arbitrary iframe code, playlists without a valid video ID, and unsupported video sites are rejected. Pro accepts only supported YouTube, Vimeo, or a valid Media Library video attachment.

The video does not appear

Confirm the product is published and you are viewing its single-product page. Reopen the product and verify the saved URL or Pro source. Invalid Pro data deliberately falls back to Free; invalid Free data deliberately renders nothing.

That is expected. This plugin intentionally does not integrate with gallery markup because themes and gallery extensions implement that surface differently. Use the standard section or Pro tab.

A YouTube or Vimeo frame is blank in a test tool

Headless browsers, content-security policies, privacy extensions, regional restrictions, or the video owner's embed setting can block a third-party player. Test the same public URL in a normal browser. The StoreFixKit frame can still have correct responsive dimensions even when the provider refuses playback.

A local video is slow

The file is served by the WordPress site's media stack. Check file size, encoding, hosting bandwidth, caching, and CDN behavior. StoreFixKit does not transcode or optimize media files.

Rollback

  1. Back up the database, uploads directory, and both current ZIPs.
  2. Record the Free URL, Pro source, placement, title, and selected Media Library attachment.
  3. Deactivate Pro. A valid Free YouTube video should resume immediately.
  4. Deactivate Free. The video section or tab disappears; the native image gallery and product content remain.
  5. Install the tested Free 0.1.0 and Pro 0.1.0 baseline ZIPs if an older-code comparison is required.
  6. Repeat the product editor, section/tab, desktop, mobile, and invalid-source tests before returning to 0.1.2.

Versions 0.1.0 and 0.1.2 use the same bounded options and product meta and require no schema migration.

Uninstall

Default uninstall preserves settings and product video references. To erase only global StoreFixKit options, define STOREFIXKIT_DELETE_DATA as true. To erase only StoreFixKit-owned product video meta, separately define STOREFIXKIT_DELETE_PRODUCT_DATA as true before deleting the plugins.

Free owns sfk_pdv_settings and _sfk_pdv_youtube_id. Pro owns sfk_pdv_pro_settings, sfk_pdv_pro_license, _sfk_pdv_video_type, _sfk_pdv_video_ref, and _sfk_pdv_title.

Products, images, gallery metadata, Media Library attachments and files, product descriptions, prices, stock, carts, orders, and third-party schema are never deleted.

StoreFixKit Support

Use StoreFixKit Support and include the redacted video URL or provider and ID, source type, section or tab placement, product status, Free and Pro versions, WordPress and WooCommerce versions, theme, gallery/video extensions, content-security policy, browser, and desktop/mobile screenshots. Never send credentials, private video access, customer data, API keys, upload tokens, or a full license key.