Tiger Gallery

Tiger Gallery is the dynamic media gallery widget: unlike a static image-gallery widget where you pick images by hand in the editor, this one sources its items live from data attached to the current post or CCT item — a Repeater’s image sub-field, a plain meta/ACF key holding attachment IDs, or a CCT gallery field […]

5 min read Updated July 23, 2026
Tiger Gallery — features & options

Tiger Gallery is the dynamic media gallery widget: unlike a static image-gallery widget where you pick images by hand in the editor, this one sources its items live from data attached to the current post or CCT item — a Repeater’s image sub-field, a plain meta/ACF key holding attachment IDs, or a CCT gallery field — so the same widget instance renders different images on every post it appears on inside a loop, archive, or template. Its distinguishing feature versus a plain dynamic image list is that it treats images and video as first-class equals: a single field can drive a mixed gallery where some rows are photos and others are YouTube, Vimeo, or self-hosted video, all through one consistent slider, grid, story, or masonry presentation.

Choosing a source

The Gallery Source section’s Source control has three options: Repeater image sub-field (default), Meta key (attachment IDs), and CCT gallery field. For Meta key, you type the Meta key holding attachment IDs — the widget accepts either a comma-separated string or a JSON array. For Repeater, you pick the Repeater field dropdown (from CPT Builder’s registry) and type the Image sub-field key that holds each row’s image — accepted as an attachment ID, an ACF-style image array, or a plain URL. Two more repeater-only fields let a single field mix media types: Video sub-field key (optional), and if set and populated on a given row, that row becomes a video item instead of an image — video takes precedence over the image sub-field when both are present on the same row — plus Video poster sub-field (optional) for that row’s poster image. For CCT, you type the CCT field key, and the description explicitly notes this is meant to be used inside a CCT Grid loop template, since it resolves from Tiger_CCT::get_current() rather than a post ID. Image size (default Large) sets which registered size is used for the main display image across all three sources.

Layout and motion

The Layout section offers four modes: Slider + Thumbnails, Story (tap / auto-advance), Grid, and Masonry (default Grid). Slider mode reveals Thumbnails position (Left/Bottom/Right) and Show thumbnails; Grid/Masonry reveal a responsive Columns control. Image ratio lets you force Square 1:1, Standard 4:3, Portrait 3:4, or Wide 16:9 cropping, or leave it Natural. Lightbox on click is on by default. The Slider / Motion section only shows for Slider/Story layouts and covers Transition effect (Slide/Fade/Cards “Tinder stack”/Coverflow 3D/Creative — slider only), Swipe direction (Horizontal/Vertical/RTL), Arrows and Pagination (None/Bullets/Dynamic bullets/Fraction/Progress bar, slider only), Loop, Autoplay with an Autoplay delay (ms), Transition speed (ms), Swipe sensitivity (px), and — when thumbnails are on — responsive Thumbnails per view and Thumbnail gap. Note that Story layout always forces autoplay on and uses the slide effect regardless of what’s set, per the render logic.

Style controls and shared engine

The Image Style section has Accent color, Image radius, Gap (which also sets thumbnail gap), plus grouped Border and Box Shadow controls applied to both the main slide and grid cells. A separate Arrows style section (visible only when Slider layout with Arrows on) controls arrow Size, Icon color, and Background. Under the hood, Tiger Gallery shares its JS/CSS engine and its Tiger_Gallery_Render server-side shell with the Tiger Product Gallery widget, so markup and behavior stay identical between the two — this widget just supplies its own data-source logic on top.

When to use it vs. related widgets

Use Tiger Gallery specifically when the content is media (photos, mixed photo/video sets) that should look like a gallery — sliders, lightboxes, masonry walls. Tiger Repeater can technically display an image sub-field too, but only as a plain sized in a labeled cell with no slider, lightbox, video handling, or masonry option, so anything beyond “show one small thumbnail per row” belongs in Tiger Gallery instead. Tiger Repeater Loop is a different tool entirely — it renders a full custom template per row and could theoretically be used to build a gallery-like layout, but you’d be reimplementing swiper sliders, lightbox, and video detection by hand; Tiger Gallery already ships all of that. It’s unrelated to AJAX Grid, AJAX Filter, Dynamic Loop, Tiger Query Grid, and Tiger CCT Grid, which loop over separate posts or CCT rows rather than the media items belonging to one post or item.

Practical tips

  • When mixing images and video from a Repeater, remember video wins whenever the Video sub-field key has a value on that row — leave that sub-field empty on rows meant to stay images, since a stray URL there will silently swap the row’s type.
  • For CCT-sourced galleries, this widget only works correctly inside an active CCT Grid loop template — placing it standalone on a normal page with Source set to CCT gallery field will render nothing, since it depends on Tiger_CCT::get_current().
  • Story layout is opinionated by design: it always autoplays with the slide effect no matter what Transition effect or Autoplay switch says, so don’t spend time configuring those controls for a Story instance.
  • The Meta key source accepts either comma-separated IDs or a JSON array, which makes it a convenient bridge for ACF gallery fields or any custom field storing attachment IDs without needing a CPT Builder Repeater at all.

Frequently asked questions

Yes, when Source is set to Repeater image sub-field. If you also set a Video sub-field key (and optionally a Video poster sub-field key), any row with a value in that video sub-field is rendered as a video slide (YouTube, Vimeo, or self-hosted, auto-detected from the URL) instead of an image; video takes precedence over the image sub-field whenever both are present on the same row.

Story layout is hardcoded in the render logic to always autoplay and always use the ‘slide’ effect regardless of what the Autoplay switch or Transition effect dropdown are set to — those controls only take effect on the Slider layout.

Still stuck?

We’re here to help

Can’t find what you’re looking for, or hit something that looks like a bug? Reach the support team or ask the community.