The problem

If your products use attributes like Color and Size, stock WooCommerce makes you upload a separate image for every single variation — and it only supports one image per variation, never a gallery. Four colors times four sizes means sixteen uploads, even though the photo only actually changes with color.

What it does

Smart Variation Gallery fixes this directly:

  • Upload one image and a full photo gallery per attribute value (e.g. once for "Red"), not per variation.
  • Every variation in that product using that value, across every size, gets the image and gallery automatically.
  • Images are scoped to each product, so two different products that happen to share a value (e.g. both have a "Red") never accidentally share the same photo.
  • A one-click "Sync Variation Images" button re-applies images any time you add new variations or update a value's photos.
  • The frontend product gallery swaps automatically when a shopper changes the variation.
  • Pro: bulk import/export your image mapping across many products via CSV.

How it works

  1. Pick your "primary" attribute (usually Color) under WooCommerce > Variation Gallery.
  2. Open a variable product that uses this attribute. Click the new "Variation Gallery" tab in the Product data box.
  3. Upload one image and gallery per value used on that product (e.g. once for Red, once for Blue).
  4. Update/save the product, then click "Sync Variation Images" in the Variations tab.
  5. Done — all matching variations in that product, any size, now share the same image and gallery.

Frequently asked questions

Does this work with custom (non-global, per-product) attributes?

No. The primary attribute must be a global attribute (created under Products > Attributes) so every variation reliably reports the same term slug. The images themselves, however, are stored per product, not shared globally.

If two products both have a "Red" variation, do they share the same photo?

No. Each product has its own Image + Gallery upload for "Red" under its own Variation Gallery tab. Uploading a photo on one product never affects any other product.

Will this overwrite images I already set manually on a variation?

Only when you click "Sync Variation Images." Nothing changes automatically in the background.

Does this duplicate images in my media library?

No. Variations simply reference the same attachment ID you selected on the product's Variation Gallery tab, so nothing is re-uploaded or duplicated.

What happens to variations that don't match any attribute value with an image set?

They're skipped and keep whatever image they already had (or the product's default image).

Compatibility

Requires WordPress 6.0+, WooCommerce 6.0+, and PHP 7.4+. Tested with stock WooCommerce galleries as well as Astra, WoodMart, Woostify, and Elementor single-product templates — each of which builds its product gallery differently, and each of which the plugin explicitly detects and integrates with.

Recent updates

Actively maintained — recent releases have focused on rock-solid compatibility with theme-specific product galleries (WoodMart's Swiper carousel, Woostify's Flickity carousel), fixing subtle race conditions between this plugin's gallery swap and each theme's own carousel rebuild so the correct photos and thumbnails appear every time, with zero console errors.