Title: SazKit – Product Gallery for WooCommerce
Author: Sazkit
Published: <strong>July 14, 2026</strong>
Last modified: July 14, 2026

---

Search plugins

![](https://ps.w.org/sazkit-product-gallery-for-woocommerce/assets/banner-772x250.
png?rev=3607412)

![](https://ps.w.org/sazkit-product-gallery-for-woocommerce/assets/icon-256x256.
png?rev=3607412)

# SazKit – Product Gallery for WooCommerce

 By [Sazkit](https://profiles.wordpress.org/sazzad23/)

[Download](https://downloads.wordpress.org/plugin/sazkit-product-gallery-for-woocommerce.1.0.6.zip)

 * [Details](https://wordpress.org/plugins/sazkit-product-gallery-for-woocommerce/#description)
 * [Reviews](https://wordpress.org/plugins/sazkit-product-gallery-for-woocommerce/#reviews)
 *  [Installation](https://wordpress.org/plugins/sazkit-product-gallery-for-woocommerce/#installation)
 * [Development](https://wordpress.org/plugins/sazkit-product-gallery-for-woocommerce/#developers)

 [Support](https://wordpress.org/support/plugin/sazkit-product-gallery-for-woocommerce/)

## Description

SazKit – Product Gallery for WooCommerce swaps the default WooCommerce single-product
image gallery (FlexSlider + zoom) for a clean [Swiper](https://swiperjs.com) slider.

Features:

 * Main slider with arrow and dot navigation, fade transition, and adaptive height.
 * Optional synced thumbnail navigation slider below the main image.
 * Full-screen lightbox with keyboard navigation, focus trapping, and click-to-magnify.
 * Hover zoom (inner magnify) on the main image for desktop pointers.
 * Configurable gallery height — a fixed pixel height (default 550px) that scales
   images down and centers them, or auto height that fits each image.
 * Image fit for fixed-height mode — Contain (show the whole image) or Cover (fill
   and crop edge-to-edge).
 * Configurable thumbnail count (1–10 visible at once).
 * Toggle arrows and dots independently on the main slider.
 * Optional arrows on the thumbnail slider.
 * Autoplay for the main slider with a configurable interval (pauses on hover/focus).
 * Tabbed settings screen: General and Style.
 * Style tab: pick the arrow color and dot color with the native color picker.
 * Variation support — the main image updates when a variation with its own image
   is selected.
 * RTL aware.
 * Uses your site’s existing Swiper assets if a theme or another plugin already 
   registers them; otherwise it loads its own bundled copy.
 * HPOS (High-Performance Order Storage) compatible.
 * Developer friendly: filter hooks for the image IDs, image sizes, and Swiper arguments.

#### Filter hooks

 * `sazkit_settings` — filter merged plugin settings at runtime.
 * `sazkit_gallery_image_ids` — filter the attachment IDs used in the gallery.
 * `sazkit_main_image_size` / `sazkit_thumb_image_size` — filter the registered 
   image sizes.
 * `sazkit_swiper_main_args` / `sazkit_swiper_thumbs_args` — filter the Swiper configuration.
 * `sazkit_swiper_handles` — override the detected Swiper script/style handles.
 * `sazkit_zoom_level` — filter the hover-zoom magnification factor (default `2.0`).
 * `sazkit_slide_badges` — filter to add badge overlays (e.g. Sale/New ribbons) 
   to a gallery slide.
 * `sazkit_before_main_slides` / `sazkit_after_main_slides` — actions for add-ons
   to inject extra `.sazkit-slide` elements (e.g. video) into the main slider.
 * `sazkit_before_thumb_slides` / `sazkit_after_thumb_slides` — matching actions
   for the thumbnail slider, to keep both sliders’ indexes in sync.
 * `sazkit_gallery_wrapper_classes` — filter to add extra classes to the gallery
   wrapper (e.g. add-on layout classes).
 * `sazkit_disable_main_slider` — filter to skip Swiper initialization entirely,
   for add-ons rendering their own layout (e.g. a grid).
 * `sazkit_main_image_attrs` / `sazkit_thumb_image_attrs` — filter the `<img>` attributes
   per slide (e.g. lazy-loading control).
 * `sazkit_main_image_html` / `sazkit_thumb_image_html` — filter the final `<img
   >` HTML per slide (e.g. to wrap it in a `<picture>` element for WebP/AVIF).
 * render_gallery_for_product( WC_Product $product ) and `enqueue_gallery_assets()`
   are public methods add-ons can call directly to render/enqueue the gallery for
   an arbitrary product outside the single product page (e.g. a shortcode or block).
 * `sazkit_settings_nav_tabs` — action to add extra tab links to the settings page’s
   nav (so an add-on doesn’t need its own separate admin menu item).
 * `sazkit_settings_panels` — action to render extra tab panel(s) inside the settings
   card, after the built-in General/Style tabs’ own `<form>` closes. Forms can’t
   nest, so add-on panels needing to save fields must wrap themselves in their own`
   <form>` with their own save button — the built-in Cancel/Save changes footer 
   only submits the General/Style tab and hides itself automatically while a non-
   native tab is active. Panels should use the same `.sazkit-tab-panel` / `#sazkit-
   tab-{slug}` markup convention as the built-in tabs so the shared tab-switching
   JS shows/hides them correctly.

The gallery wrapper also fires two jQuery events add-ons can listen for: `sazkit:
zoom` (hover zoom activated on a slide) and `sazkit:lightbox-open` (the lightbox
opened for a slide), both passed the attachment ID.

### Third-Party Libraries

This plugin bundles the Swiper library (v11.2.10) by Vladimir Kharlampidi, licensed
under the MIT license. See https://swiperjs.com.

## Screenshots

[⌊Main product slider with arrow and dot navigation.⌉⌊Main product slider with arrow
and dot navigation.⌉[

Main product slider with arrow and dot navigation.

[⌊Plugin settings screen.⌉⌊Plugin settings screen.⌉[

Plugin settings screen.

## Installation

 1. Upload the `sazkit-gallery` folder to `/wp-content/plugins/`, or install it through
    the Plugins screen in WordPress.
 2. Activate the plugin through the **Plugins** screen.
 3. Make sure WooCommerce is active.
 4. Visit **Settings  SazKit Gallery** to configure the gallery under the **General**
    and **Style** tabs.

## FAQ

### Does this require WooCommerce?

Yes. WooCommerce 8.0 or newer must be active. The plugin does nothing on its own.

### Is it compatible with variable products?

Yes. When a variation with its own image is selected, the first slide updates to
that image and returns to the original when the selection is reset.

### Is it multilingual / WPML ready?

Yes. All plugin strings are internationalized, and a translation template (`languages/
sazkit-gallery.pot`) is included. Product images and titles themselves are WooCommerce
data, so WPML/Polylang translate them automatically — no extra configuration is 
required.

### Can I keep my theme’s Swiper version?

Yes. If your theme or another plugin already registers a Swiper script/style handle,
this plugin uses it instead of loading a second copy.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“SazKit – Product Gallery for WooCommerce” is open source software. The following
people have contributed to this plugin.

Contributors

 *   [ Sazkit ](https://profiles.wordpress.org/sazzad23/)

[Translate “SazKit – Product Gallery for WooCommerce” into your language.](https://translate.wordpress.org/projects/wp-plugins/sazkit-product-gallery-for-woocommerce)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/sazkit-product-gallery-for-woocommerce/),
check out the [SVN repository](https://plugins.svn.wordpress.org/sazkit-product-gallery-for-woocommerce/),
or subscribe to the [development log](https://plugins.trac.wordpress.org/log/sazkit-product-gallery-for-woocommerce/)
by [RSS](https://plugins.trac.wordpress.org/log/sazkit-product-gallery-for-woocommerce/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 1.0.6

 * Renamed the plugin folder and main file to match the slug assigned by WordPress.
   org during review (`sazkit-product-gallery-for-woocommerce`), resolving a Text-
   Domain/slug mismatch flagged by Plugin Check. The Text Domain and all translation
   strings now correctly match the assigned slug. Also removed a stray `.claude`
   directory (an AI-assistant config folder) that had been flagged as not belonging
   in a production plugin.

#### 1.0.5

 * Removed the Custom CSS field from the Style tab. Per the WordPress.org plugin
   review team’s policy against plugins accepting arbitrary user-supplied CSS/JS/
   PHP for output, the free-form textarea (previously piped straight into `wp_add_inline_style`)
   has been removed entirely. The Style tab still offers the arrow/dot color pickers.
 * Renamed the main class from `SazKit_Gallery` to `Sazkit_Gallery` to resolve a
   plugin-review prefix-consistency flag (the capitalized “K” didn’t match the lowercase`
   sazkit_` prefix used everywhere else — hook names, filters, the option key). 
   No functional change; only affects code that referenced the class name directly(
   e.g. the Pro add-on, updated to match).

#### 1.0.4

 * Changed the Text Domain to `sazkit-product-gallery-for-woocommerce` (was `sazkit-
   gallery`) and updated every translation string to match. The admin menu slug,
   enqueued script/style handles, and the `.sazkit-gallery` CSS class are unchanged—
   only the translation domain moved.

#### 1.0.3

 * Fixed the arrow icons still losing their `position` to a theme’s own `!important`
   rule even after 1.0.2’s hardening: when both sides declare a property `!important`,
   it comes down to plain specificity, and a theme selector like `button:not(.fa):
   not(.close-style)::before` out-specifies a doubled class. The affected rules (
   main/thumbnail/lightbox arrow icons) now triple the class instead of doubling
   it, which reliably exceeds that kind of theme selector regardless of load order.

#### 1.0.2

 * Hardened the gallery’s structural CSS (layout, image sizing, arrows, dots, thumbnails,
   and the lightbox overlay) with `!important` on every property that would visibly
   break if a theme’s own generic styling overrode it — not just the arrow icons
   fixed in 1.0.1. Purely cosmetic details are left as-is; this only covers things
   that would otherwise stop working correctly.

#### 1.0.1

 * Fixed the main/thumbnail/lightbox arrow icons becoming invisible or mispositioned
   on some themes at narrower viewport widths (seen with a Divi-style button “shine”
   hover effect that repurposes every `<button>` element’s `::before`/`::after` 
   for its own decorative overlay below ~991px). The arrow icons’ properties are
   now set with `!important` throughout to guarantee they win regardless of what
   a theme’s generic button styling does.

#### 1.0.0

 * Initial public release.

## Meta

 *  Version **1.0.6**
 *  Last updated **15 hours ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 6.2 or higher **
 *  Tested up to **7.0.1**
 *  PHP version ** 8.0 or higher **
 * Tags
 * [carousel](https://wordpress.org/plugins/tags/carousel/)[product gallery](https://wordpress.org/plugins/tags/product-gallery/)
   [slider](https://wordpress.org/plugins/tags/slider/)[swiper](https://wordpress.org/plugins/tags/swiper/)
   [woocommerce](https://wordpress.org/plugins/tags/woocommerce/)
 *  [Advanced View](https://wordpress.org/plugins/sazkit-product-gallery-for-woocommerce/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/sazkit-product-gallery-for-woocommerce/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/sazkit-product-gallery-for-woocommerce/reviews/)

## Contributors

 *   [ Sazkit ](https://profiles.wordpress.org/sazzad23/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/sazkit-product-gallery-for-woocommerce/)