
Tiger Repeater Loop exists for the exact moment Tiger Repeater’s plain rows aren’t enough: you have a Repeater or Group field on a post and you want each row rendered as a fully designed Elementor element — a card with an icon, a heading, a button, a background image, whatever your template calls for — instead of a generic list of labeled values. Rather than inventing its own per-row design controls, it delegates the entire visual design of one row to a template you build separately in Elementor, then loops that template once per row, injecting that row’s data into it via dynamic tags.
How the field-to-template hookup works
In the Repeater Loop section, Repeater / Group field is a dropdown of every Repeater/Group field from CPT Builder (via the same Tiger_Dynamic_Fields::repeater_options() registry used by Tiger Repeater), and Or custom meta key again overrides it when filled in. The critical control is Row template: a dropdown built from every published post in the elementor_library and tiger_template post types, listed as “Title (#ID)”. You design that template like any other Elementor template — but inside it, you don’t hardcode content. Instead you place “Repeater Row Field” / “Row Image” dynamic tags (the control’s own description names them explicitly) on whichever widgets need row data — a heading’s text, an image widget’s source, a button’s link. When the Loop widget renders, it sets a global, $tiger_repeater_row, to the current row’s associative array before rendering the template, and those dynamic tags read from that global to pull the matching sub-field value. This is what lets one template design serve every row without per-row Elementor editing.
Layout, limits, and fallback
Below the field and template pickers, Columns (responsive, 1–6, default 3) sets a CSS grid-template-columns on the wrapper — this widget only offers a grid arrangement, there’s no List/Grid switch like Tiger Repeater has. Max rows (0 = all) caps how many rows render (default 12); set it to 0 to render every row in the field with no cap, or use it deliberately to show only the first N rows of a longer list. Empty fallback is a dynamic-tag-enabled text field for when the field resolves to no rows. In the editor, if either the field or the template hasn’t been selected, or there’s no post context, you get an inline notice rather than a blank canvas — useful when building the parent layout before the child template is finished.
Item Wrapper styling
Because the template itself carries the row’s internal design, this widget’s Style tab only styles the wrapper it puts around each rendered template instance: the Layout section has Gap, a separate Row Gap that overrides the vertical gap specifically when set, and Vertical Alignment (Stretch/Top/Middle/Bottom) for the grid items. The Item Wrapper section adds Padding, Border Radius (which also clips overflow via overflow:hidden — worth knowing if your template design relies on an element bleeding past its own edges), and a Normal/Hover tab pair for background (classic or gradient), border, box-shadow, and Hover Lift. These wrapper controls apply uniformly to every row’s outer container regardless of what’s inside the template.
When to use it vs. related widgets
Choose Tiger Repeater Loop over plain Tiger Repeater whenever the visual design needs to vary per widget type rather than per labeled text row — cards with buttons, icons, layered backgrounds, or any combination of widgets beyond text/image/link. The tradeoff is real: you must build and maintain a separate Elementor template, and every dynamic tag inside it has to be wired to the correct sub-field key by hand, versus Tiger Repeater’s zero-setup automatic field mapping. It’s also worth distinguishing this from AJAX Grid, Dynamic Loop, Tiger Query Grid, and Post, which all loop over separate published posts/CPT entries via a query — Tiger Repeater Loop instead loops over sub-rows of one Repeater/Group field belonging to a single post, so there’s no query builder, no post status filtering, and no pagination; “rows” here are pieces of one post’s meta, not other posts. If your rows are really just an image set, Tiger Gallery is the more purpose-built widget — it has slider/story/masonry layouts, video support, and a lightbox that this widget doesn’t attempt.
Practical tips
- Build and finalize the row template in a small test grid first (Columns=1) so you can see exactly how the dynamic tags resolve for a real row before wiring the full multi-column layout.
- Because Border Radius on the Item Wrapper forces overflow:hidden, any drop-shadow or absolutely positioned decorative element inside your template that’s meant to overhang the card edge will get clipped — either skip the radius or move that element outside the wrapper’s rounding.
- Use Max rows deliberately as a “show more” trigger point — set it low (e.g., 3) on a homepage teaser instance and 0 on a dedicated archive-style instance, reusing the same field and template.
- Remember the template dropdown lists both elementor_library and tiger_template post types — if a template you just saved doesn’t appear, check it was actually published, not left as a draft, since only publish status posts are queried.