<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>nested repeaters Archives - Developry Plugins</title>
	<atom:link href="https://developryplugins.com/tag/nested-repeaters/feed/" rel="self" type="application/rss+xml" />
	<link>https://developryplugins.com/tag/nested-repeaters/</link>
	<description></description>
	<lastBuildDate>Mon, 24 Nov 2025 11:18:04 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	

<image>
	<url>https://developryplugins.com/wp-content/uploads/2025/11/cropped-favicon-32x32.png</url>
	<title>nested repeaters Archives - Developry Plugins</title>
	<link>https://developryplugins.com/tag/nested-repeaters/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>How to Use ACF Repeater Fields: Complete Guide with Examples</title>
		<link>https://developryplugins.com/how-to-use-acf-repeater-fields-complete-guide-with-examples/</link>
		
		<dc:creator><![CDATA[Krasen Slavov]]></dc:creator>
		<pubDate>Wed, 10 Jun 2026 09:00:00 +0000</pubDate>
				<category><![CDATA[Advanced Custom Fields (ACF) Tutorials]]></category>
		<category><![CDATA[acf pro]]></category>
		<category><![CDATA[acf repeater]]></category>
		<category><![CDATA[dynamic fields]]></category>
		<category><![CDATA[nested repeaters]]></category>
		<category><![CDATA[repeater fields]]></category>
		<guid isPermaLink="false">https://developryplugins.com/?p=143</guid>

					<description><![CDATA[<p>ACF Repeater Fields create flexible content structures allowing unlimited field groups within a single post through row-based data entry. From basic repeater loops with have_rows() and get_sub_field() to nested repeaters...</p>
<p>The post <a href="https://developryplugins.com/how-to-use-acf-repeater-fields-complete-guide-with-examples/">How to Use ACF Repeater Fields: Complete Guide with Examples</a> appeared first on <a href="https://developryplugins.com">Developry Plugins</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><!-- @format --></p>
<p>ACF Repeater Fields create flexible content structures allowing unlimited field groups within a single post through row-based data entry. From basic repeater loops with have_rows() and get_sub_field() to nested repeaters and dynamic JavaScript manipulation, repeater fields eliminate rigid content limitations. This comprehensive guide teaches repeater field setup, template loops, nested structures, programmatic field registration, AJAX operations, and advanced techniques creating dynamic ACF-powered WordPress content.</p>
<h2 id="what-are-repeater-fields">What Are Repeater Fields?</h2>
<p><strong>Repeater Field Concept</strong>:</p>
<p>Repeater fields (ACF PRO feature) allow users to create sets of sub-fields that can be repeated multiple times:</p>
<ul>
<li>Team members with name, photo, bio</li>
<li>Testimonials with quote, author, rating</li>
<li>FAQ sections with question, answer</li>
<li>Product features with icon, title, description</li>
<li>Gallery items with image, caption, link</li>
</ul>
<p><strong>Field Structure</strong>:</p>
<pre><code>Repeater Field: &quot;team_members&quot;
├── Sub-field: &quot;name&quot; (Text)
├── Sub-field: &quot;position&quot; (Text)
├── Sub-field: &quot;photo&quot; (Image)
└── Sub-field: &quot;bio&quot; (Textarea)

User can add unlimited rows of these 4 fields</code></pre>
<h2 id="creating-repeater-fields">Creating Repeater Fields</h2>
<p><strong>Add Repeater via ACF UI</strong>:</p>
<ol type="1">
<li>Custom Fields → Field Groups</li>
<li>Add Field</li>
<li>Field Type: Repeater (ACF PRO)</li>
<li>Configuration:
<ul>
<li>Field Label: Team Members</li>
<li>Field Name: team_members</li>
<li>Sub Fields: Add multiple sub-fields</li>
<li>Button Label: “Add Team Member”</li>
<li>Min/Max: Set limits (optional)</li>
<li>Layout: Block, Table, or Row</li>
</ul>
</li>
</ol>
<p><strong>Sub-Field Configuration</strong>:</p>
<p>Add sub-fields within repeater:</p>
<ul>
<li>Name (Text field)</li>
<li>Position (Text field)</li>
<li>Photo (Image field)</li>
<li>Bio (Textarea field)</li>
</ul>
<p><strong>Repeater Layouts</strong>:</p>
<ul>
<li><strong>Block</strong>: Stack fields vertically</li>
<li><strong>Table</strong>: Display in table format</li>
<li><strong>Row</strong>: Horizontal layout</li>
</ul>
<h2 id="basic-repeater-loop">Basic Repeater Loop</h2>
<p><strong>Display Repeater Data</strong>:</p>
<div class="sourceCode" id="cb2">
<pre class="sourceCode php"><code class="sourceCode php"><span id="cb2-1"><a href="#cb2-1" aria-hidden="true"></a><span class="kw">&lt;?php</span></span>
<span id="cb2-2"><a href="#cb2-2" aria-hidden="true"></a><span class="kw">if</span> <span class="ot">(</span>have_rows<span class="ot">(</span><span class="st">&#39;team_members&#39;</span><span class="ot">))</span> :</span>
<span id="cb2-3"><a href="#cb2-3" aria-hidden="true"></a>    <span class="kw">?&gt;</span></span>
<span id="cb2-4"><a href="#cb2-4" aria-hidden="true"></a>    &lt;div <span class="kw">class</span>=<span class="st">&quot;team-section&quot;</span>&gt;</span>
<span id="cb2-5"><a href="#cb2-5" aria-hidden="true"></a>        &lt;h2&gt;Our Team&lt;/h2&gt;</span>
<span id="cb2-6"><a href="#cb2-6" aria-hidden="true"></a>        &lt;div <span class="kw">class</span>=<span class="st">&quot;team-grid&quot;</span>&gt;</span>
<span id="cb2-7"><a href="#cb2-7" aria-hidden="true"></a>            &lt;<span class="ot">?</span>php <span class="kw">while</span> <span class="ot">(</span>have_rows<span class="ot">(</span><span class="st">&#39;team_members&#39;</span><span class="ot">))</span> <span class="ot">:</span> the_row<span class="ot">();</span></span>
<span id="cb2-8"><a href="#cb2-8" aria-hidden="true"></a>                <span class="co">// Get sub-field values</span></span>
<span id="cb2-9"><a href="#cb2-9" aria-hidden="true"></a>                <span class="kw">$name</span> = get_sub_field<span class="ot">(</span><span class="st">&#39;name&#39;</span><span class="ot">);</span></span>
<span id="cb2-10"><a href="#cb2-10" aria-hidden="true"></a>                <span class="kw">$position</span> = get_sub_field<span class="ot">(</span><span class="st">&#39;position&#39;</span><span class="ot">);</span></span>
<span id="cb2-11"><a href="#cb2-11" aria-hidden="true"></a>                <span class="kw">$photo</span> = get_sub_field<span class="ot">(</span><span class="st">&#39;photo&#39;</span><span class="ot">);</span></span>
<span id="cb2-12"><a href="#cb2-12" aria-hidden="true"></a>                <span class="kw">$bio</span> = get_sub_field<span class="ot">(</span><span class="st">&#39;bio&#39;</span><span class="ot">);</span></span>
<span id="cb2-13"><a href="#cb2-13" aria-hidden="true"></a>                <span class="kw">?&gt;</span></span>
<span id="cb2-14"><a href="#cb2-14" aria-hidden="true"></a></span>
<span id="cb2-15"><a href="#cb2-15" aria-hidden="true"></a>                &lt;div <span class="kw">class</span>=<span class="st">&quot;team-member&quot;</span>&gt;</span>
<span id="cb2-16"><a href="#cb2-16" aria-hidden="true"></a>                    &lt;<span class="ot">?</span>php <span class="kw">if</span> <span class="ot">(</span><span class="kw">$photo</span><span class="ot">)</span> <span class="ot">:</span> <span class="kw">?&gt;</span></span>
<span id="cb2-17"><a href="#cb2-17" aria-hidden="true"></a>                        &lt;div <span class="kw">class</span>=<span class="st">&quot;member-photo&quot;</span>&gt;</span>
<span id="cb2-18"><a href="#cb2-18" aria-hidden="true"></a>                            &lt;img src=<span class="st">&quot;&lt;?php echo esc_url(</span><span class="kw">$photo</span><span class="st">[&#39;sizes&#39;][&#39;medium&#39;]); ?&gt;&quot;</span></span>
<span id="cb2-19"><a href="#cb2-19" aria-hidden="true"></a>                                 alt=<span class="st">&quot;&lt;?php echo esc_attr(</span><span class="kw">$name</span><span class="st">); ?&gt;&quot;</span> /&gt;</span>
<span id="cb2-20"><a href="#cb2-20" aria-hidden="true"></a>                        &lt;/div&gt;</span>
<span id="cb2-21"><a href="#cb2-21" aria-hidden="true"></a>                    &lt;<span class="ot">?</span>php <span class="kw">endif</span><span class="ot">;</span> <span class="kw">?&gt;</span></span>
<span id="cb2-22"><a href="#cb2-22" aria-hidden="true"></a></span>
<span id="cb2-23"><a href="#cb2-23" aria-hidden="true"></a>                    &lt;h3 <span class="kw">class</span>=<span class="st">&quot;member-name&quot;</span>&gt;&lt;<span class="ot">?</span>php <span class="kw">echo</span> esc_html<span class="ot">(</span><span class="kw">$name</span><span class="ot">);</span> <span class="kw">?&gt;</span>&lt;/h3&gt;</span>
<span id="cb2-24"><a href="#cb2-24" aria-hidden="true"></a></span>
<span id="cb2-25"><a href="#cb2-25" aria-hidden="true"></a>                    &lt;<span class="ot">?</span>php <span class="kw">if</span> <span class="ot">(</span><span class="kw">$position</span><span class="ot">)</span> <span class="ot">:</span> <span class="kw">?&gt;</span></span>
<span id="cb2-26"><a href="#cb2-26" aria-hidden="true"></a>                        &lt;p <span class="kw">class</span>=<span class="st">&quot;member-position&quot;</span>&gt;&lt;<span class="ot">?</span>php <span class="kw">echo</span> esc_html<span class="ot">(</span><span class="kw">$position</span><span class="ot">);</span> <span class="kw">?&gt;</span>&lt;/p&gt;</span>
<span id="cb2-27"><a href="#cb2-27" aria-hidden="true"></a>                    &lt;<span class="ot">?</span>php <span class="kw">endif</span><span class="ot">;</span> <span class="kw">?&gt;</span></span>
<span id="cb2-28"><a href="#cb2-28" aria-hidden="true"></a></span>
<span id="cb2-29"><a href="#cb2-29" aria-hidden="true"></a>                    &lt;<span class="ot">?</span>php <span class="kw">if</span> <span class="ot">(</span><span class="kw">$bio</span><span class="ot">)</span> <span class="ot">:</span> <span class="kw">?&gt;</span></span>
<span id="cb2-30"><a href="#cb2-30" aria-hidden="true"></a>                        &lt;div <span class="kw">class</span>=<span class="st">&quot;member-bio&quot;</span>&gt;</span>
<span id="cb2-31"><a href="#cb2-31" aria-hidden="true"></a>                            &lt;<span class="ot">?</span>php <span class="kw">echo</span> wp_kses_post<span class="ot">(</span>wpautop<span class="ot">(</span><span class="kw">$bio</span><span class="ot">));</span> <span class="kw">?&gt;</span></span>
<span id="cb2-32"><a href="#cb2-32" aria-hidden="true"></a>                        &lt;/div&gt;</span>
<span id="cb2-33"><a href="#cb2-33" aria-hidden="true"></a>                    &lt;<span class="ot">?</span>php <span class="kw">endif</span><span class="ot">;</span> <span class="kw">?&gt;</span></span>
<span id="cb2-34"><a href="#cb2-34" aria-hidden="true"></a>                &lt;/div&gt;</span>
<span id="cb2-35"><a href="#cb2-35" aria-hidden="true"></a></span>
<span id="cb2-36"><a href="#cb2-36" aria-hidden="true"></a>            &lt;<span class="ot">?</span>php <span class="kw">endwhile</span><span class="ot">;</span> <span class="kw">?&gt;</span></span>
<span id="cb2-37"><a href="#cb2-37" aria-hidden="true"></a>        &lt;/div&gt;</span>
<span id="cb2-38"><a href="#cb2-38" aria-hidden="true"></a>    &lt;/div&gt;</span>
<span id="cb2-39"><a href="#cb2-39" aria-hidden="true"></a>&lt;<span class="ot">?</span>php <span class="kw">endif</span><span class="ot">;</span> <span class="kw">?&gt;</span></span></code></pre>
</div>
<h2 id="repeater-functions">Repeater Functions</h2>
<p><strong>Key Functions</strong>:</p>
<div class="sourceCode" id="cb3">
<pre class="sourceCode php"><code class="sourceCode php"><span id="cb3-1"><a href="#cb3-1" aria-hidden="true"></a><span class="co">// Check if repeater has rows</span></span>
<span id="cb3-2"><a href="#cb3-2" aria-hidden="true"></a><span class="kw">if</span> <span class="ot">(</span>have_rows<span class="ot">(</span><span class="st">&#39;field_name&#39;</span><span class="ot">))</span> {</span>
<span id="cb3-3"><a href="#cb3-3" aria-hidden="true"></a>    <span class="co">// Rows exist</span></span>
<span id="cb3-4"><a href="#cb3-4" aria-hidden="true"></a>}</span>
<span id="cb3-5"><a href="#cb3-5" aria-hidden="true"></a></span>
<span id="cb3-6"><a href="#cb3-6" aria-hidden="true"></a><span class="co">// Loop through rows</span></span>
<span id="cb3-7"><a href="#cb3-7" aria-hidden="true"></a><span class="kw">while</span> <span class="ot">(</span>have_rows<span class="ot">(</span><span class="st">&#39;field_name&#39;</span><span class="ot">))</span> : the_row<span class="ot">();</span></span>
<span id="cb3-8"><a href="#cb3-8" aria-hidden="true"></a>    <span class="co">// Access sub-fields</span></span>
<span id="cb3-9"><a href="#cb3-9" aria-hidden="true"></a><span class="kw">endwhile</span><span class="ot">;</span></span>
<span id="cb3-10"><a href="#cb3-10" aria-hidden="true"></a></span>
<span id="cb3-11"><a href="#cb3-11" aria-hidden="true"></a><span class="co">// Get sub-field value</span></span>
<span id="cb3-12"><a href="#cb3-12" aria-hidden="true"></a><span class="kw">$value</span> = get_sub_field<span class="ot">(</span><span class="st">&#39;sub_field_name&#39;</span><span class="ot">);</span></span>
<span id="cb3-13"><a href="#cb3-13" aria-hidden="true"></a></span>
<span id="cb3-14"><a href="#cb3-14" aria-hidden="true"></a><span class="co">// Get row count</span></span>
<span id="cb3-15"><a href="#cb3-15" aria-hidden="true"></a><span class="kw">$count</span> = <span class="fu">count</span><span class="ot">(</span>get_field<span class="ot">(</span><span class="st">&#39;field_name&#39;</span><span class="ot">));</span></span>
<span id="cb3-16"><a href="#cb3-16" aria-hidden="true"></a></span>
<span id="cb3-17"><a href="#cb3-17" aria-hidden="true"></a><span class="co">// Get row index (0-based)</span></span>
<span id="cb3-18"><a href="#cb3-18" aria-hidden="true"></a><span class="kw">$index</span> = get_row_index<span class="ot">();</span></span></code></pre>
</div>
<h2 id="faq-repeater-example">FAQ Repeater Example</h2>
<p><strong>FAQ Section with Accordion</strong>:</p>
<div class="sourceCode" id="cb4">
<pre class="sourceCode php"><code class="sourceCode php"><span id="cb4-1"><a href="#cb4-1" aria-hidden="true"></a><span class="kw">&lt;?php</span></span>
<span id="cb4-2"><a href="#cb4-2" aria-hidden="true"></a><span class="kw">if</span> <span class="ot">(</span>have_rows<span class="ot">(</span><span class="st">&#39;faq_items&#39;</span><span class="ot">))</span> :</span>
<span id="cb4-3"><a href="#cb4-3" aria-hidden="true"></a>    <span class="kw">?&gt;</span></span>
<span id="cb4-4"><a href="#cb4-4" aria-hidden="true"></a>    &lt;div <span class="kw">class</span>=<span class="st">&quot;faq-section&quot;</span>&gt;</span>
<span id="cb4-5"><a href="#cb4-5" aria-hidden="true"></a>        &lt;h2&gt;Frequently Asked Questions&lt;/h2&gt;</span>
<span id="cb4-6"><a href="#cb4-6" aria-hidden="true"></a>        &lt;div <span class="kw">class</span>=<span class="st">&quot;faq-accordion&quot;</span>&gt;</span>
<span id="cb4-7"><a href="#cb4-7" aria-hidden="true"></a>            &lt;<span class="ot">?</span>php</span>
<span id="cb4-8"><a href="#cb4-8" aria-hidden="true"></a>            <span class="kw">$faq_index</span> = <span class="dv">0</span><span class="ot">;</span></span>
<span id="cb4-9"><a href="#cb4-9" aria-hidden="true"></a>            <span class="kw">while</span> <span class="ot">(</span>have_rows<span class="ot">(</span><span class="st">&#39;faq_items&#39;</span><span class="ot">))</span> <span class="ot">:</span> the_row<span class="ot">();</span></span>
<span id="cb4-10"><a href="#cb4-10" aria-hidden="true"></a>                <span class="kw">$question</span> = get_sub_field<span class="ot">(</span><span class="st">&#39;question&#39;</span><span class="ot">);</span></span>
<span id="cb4-11"><a href="#cb4-11" aria-hidden="true"></a>                <span class="kw">$answer</span> = get_sub_field<span class="ot">(</span><span class="st">&#39;answer&#39;</span><span class="ot">);</span></span>
<span id="cb4-12"><a href="#cb4-12" aria-hidden="true"></a>                <span class="kw">$faq_index</span>++<span class="ot">;</span></span>
<span id="cb4-13"><a href="#cb4-13" aria-hidden="true"></a>                <span class="kw">?&gt;</span></span>
<span id="cb4-14"><a href="#cb4-14" aria-hidden="true"></a></span>
<span id="cb4-15"><a href="#cb4-15" aria-hidden="true"></a>                &lt;div <span class="kw">class</span>=<span class="st">&quot;faq-item&quot;</span>&gt;</span>
<span id="cb4-16"><a href="#cb4-16" aria-hidden="true"></a>                    &lt;button <span class="kw">class</span>=<span class="st">&quot;faq-question&quot;</span></span>
<span id="cb4-17"><a href="#cb4-17" aria-hidden="true"></a>                            aria-expanded=<span class="st">&quot;false&quot;</span></span>
<span id="cb4-18"><a href="#cb4-18" aria-hidden="true"></a>                            aria-controls=<span class="st">&quot;faq-&lt;?php echo esc_attr(</span><span class="kw">$faq_index</span><span class="st">); ?&gt;&quot;</span>&gt;</span>
<span id="cb4-19"><a href="#cb4-19" aria-hidden="true"></a>                        &lt;<span class="ot">?</span>php <span class="kw">echo</span> esc_html<span class="ot">(</span><span class="kw">$question</span><span class="ot">);</span> <span class="kw">?&gt;</span></span>
<span id="cb4-20"><a href="#cb4-20" aria-hidden="true"></a>                        &lt;span <span class="kw">class</span>=<span class="st">&quot;faq-icon&quot;</span>&gt;+&lt;/span&gt;</span>
<span id="cb4-21"><a href="#cb4-21" aria-hidden="true"></a>                    &lt;/button&gt;</span>
<span id="cb4-22"><a href="#cb4-22" aria-hidden="true"></a></span>
<span id="cb4-23"><a href="#cb4-23" aria-hidden="true"></a>                    &lt;div id=<span class="st">&quot;faq-&lt;?php echo esc_attr(</span><span class="kw">$faq_index</span><span class="st">); ?&gt;&quot;</span></span>
<span id="cb4-24"><a href="#cb4-24" aria-hidden="true"></a>                         <span class="kw">class</span>=<span class="st">&quot;faq-answer&quot;</span></span>
<span id="cb4-25"><a href="#cb4-25" aria-hidden="true"></a>                         hidden&gt;</span>
<span id="cb4-26"><a href="#cb4-26" aria-hidden="true"></a>                        &lt;<span class="ot">?</span>php <span class="kw">echo</span> wp_kses_post<span class="ot">(</span>wpautop<span class="ot">(</span><span class="kw">$answer</span><span class="ot">));</span> <span class="kw">?&gt;</span></span>
<span id="cb4-27"><a href="#cb4-27" aria-hidden="true"></a>                    &lt;/div&gt;</span>
<span id="cb4-28"><a href="#cb4-28" aria-hidden="true"></a>                &lt;/div&gt;</span>
<span id="cb4-29"><a href="#cb4-29" aria-hidden="true"></a></span>
<span id="cb4-30"><a href="#cb4-30" aria-hidden="true"></a>            &lt;<span class="ot">?</span>php <span class="kw">endwhile</span><span class="ot">;</span> <span class="kw">?&gt;</span></span>
<span id="cb4-31"><a href="#cb4-31" aria-hidden="true"></a>        &lt;/div&gt;</span>
<span id="cb4-32"><a href="#cb4-32" aria-hidden="true"></a>    &lt;/div&gt;</span>
<span id="cb4-33"><a href="#cb4-33" aria-hidden="true"></a>&lt;<span class="ot">?</span>php <span class="kw">endif</span><span class="ot">;</span> <span class="kw">?&gt;</span></span></code></pre>
</div>
<p><strong>JavaScript for Accordion</strong>:</p>
<div class="sourceCode" id="cb5">
<pre class="sourceCode javascript"><code class="sourceCode javascript"><span id="cb5-1"><a href="#cb5-1" aria-hidden="true"></a><span class="bu">document</span><span class="op">.</span><span class="fu">querySelectorAll</span>(<span class="st">&quot;.faq-question&quot;</span>)<span class="op">.</span><span class="fu">forEach</span>(<span class="kw">function</span> (button) {</span>
<span id="cb5-2"><a href="#cb5-2" aria-hidden="true"></a>    button<span class="op">.</span><span class="fu">addEventListener</span>(<span class="st">&quot;click&quot;</span><span class="op">,</span> <span class="kw">function</span> () {</span>
<span id="cb5-3"><a href="#cb5-3" aria-hidden="true"></a>        <span class="kw">const</span> expanded <span class="op">=</span> <span class="kw">this</span><span class="op">.</span><span class="fu">getAttribute</span>(<span class="st">&quot;aria-expanded&quot;</span>) <span class="op">===</span> <span class="st">&quot;true&quot;</span><span class="op">;</span></span>
<span id="cb5-4"><a href="#cb5-4" aria-hidden="true"></a>        <span class="kw">const</span> answer <span class="op">=</span> <span class="kw">this</span><span class="op">.</span><span class="at">nextElementSibling</span><span class="op">;</span></span>
<span id="cb5-5"><a href="#cb5-5" aria-hidden="true"></a></span>
<span id="cb5-6"><a href="#cb5-6" aria-hidden="true"></a>        <span class="kw">this</span><span class="op">.</span><span class="fu">setAttribute</span>(<span class="st">&quot;aria-expanded&quot;</span><span class="op">,</span> <span class="op">!</span>expanded)<span class="op">;</span></span>
<span id="cb5-7"><a href="#cb5-7" aria-hidden="true"></a>        answer<span class="op">.</span><span class="at">hidden</span> <span class="op">=</span> expanded<span class="op">;</span></span>
<span id="cb5-8"><a href="#cb5-8" aria-hidden="true"></a>        <span class="kw">this</span><span class="op">.</span><span class="fu">querySelector</span>(<span class="st">&quot;.faq-icon&quot;</span>)<span class="op">.</span><span class="at">textContent</span> <span class="op">=</span> expanded <span class="op">?</span> <span class="st">&quot;+&quot;</span> <span class="op">:</span> <span class="st">&quot;−&quot;</span><span class="op">;</span></span>
<span id="cb5-9"><a href="#cb5-9" aria-hidden="true"></a>    })<span class="op">;</span></span>
<span id="cb5-10"><a href="#cb5-10" aria-hidden="true"></a>})<span class="op">;</span></span></code></pre>
</div>
<h2 id="nested-repeaters">Nested Repeaters</h2>
<p><strong>Repeater Within Repeater</strong>:</p>
<div class="sourceCode" id="cb6">
<pre class="sourceCode php"><code class="sourceCode php"><span id="cb6-1"><a href="#cb6-1" aria-hidden="true"></a><span class="kw">&lt;?php</span></span>
<span id="cb6-2"><a href="#cb6-2" aria-hidden="true"></a><span class="co">// Parent repeater: Departments</span></span>
<span id="cb6-3"><a href="#cb6-3" aria-hidden="true"></a><span class="kw">if</span> <span class="ot">(</span>have_rows<span class="ot">(</span><span class="st">&#39;departments&#39;</span><span class="ot">))</span> :</span>
<span id="cb6-4"><a href="#cb6-4" aria-hidden="true"></a>    <span class="kw">while</span> <span class="ot">(</span>have_rows<span class="ot">(</span><span class="st">&#39;departments&#39;</span><span class="ot">))</span> : the_row<span class="ot">();</span></span>
<span id="cb6-5"><a href="#cb6-5" aria-hidden="true"></a>        <span class="kw">$dept_name</span> = get_sub_field<span class="ot">(</span><span class="st">&#39;department_name&#39;</span><span class="ot">);</span></span>
<span id="cb6-6"><a href="#cb6-6" aria-hidden="true"></a>        <span class="kw">?&gt;</span></span>
<span id="cb6-7"><a href="#cb6-7" aria-hidden="true"></a></span>
<span id="cb6-8"><a href="#cb6-8" aria-hidden="true"></a>        &lt;div <span class="kw">class</span>=<span class="st">&quot;department&quot;</span>&gt;</span>
<span id="cb6-9"><a href="#cb6-9" aria-hidden="true"></a>            &lt;h2&gt;&lt;<span class="ot">?</span>php <span class="kw">echo</span> esc_html<span class="ot">(</span><span class="kw">$dept_name</span><span class="ot">);</span> <span class="kw">?&gt;</span>&lt;/h2&gt;</span>
<span id="cb6-10"><a href="#cb6-10" aria-hidden="true"></a></span>
<span id="cb6-11"><a href="#cb6-11" aria-hidden="true"></a>            &lt;<span class="ot">?</span>php</span>
<span id="cb6-12"><a href="#cb6-12" aria-hidden="true"></a>            <span class="co">// Child repeater: Employees</span></span>
<span id="cb6-13"><a href="#cb6-13" aria-hidden="true"></a>            <span class="kw">if</span> <span class="ot">(</span>have_rows<span class="ot">(</span><span class="st">&#39;employees&#39;</span><span class="ot">))</span> <span class="ot">:</span></span>
<span id="cb6-14"><a href="#cb6-14" aria-hidden="true"></a>                <span class="kw">?&gt;</span></span>
<span id="cb6-15"><a href="#cb6-15" aria-hidden="true"></a>                &lt;div <span class="kw">class</span>=<span class="st">&quot;employees&quot;</span>&gt;</span>
<span id="cb6-16"><a href="#cb6-16" aria-hidden="true"></a>                    &lt;<span class="ot">?</span>php <span class="kw">while</span> <span class="ot">(</span>have_rows<span class="ot">(</span><span class="st">&#39;employees&#39;</span><span class="ot">))</span> <span class="ot">:</span> the_row<span class="ot">();</span></span>
<span id="cb6-17"><a href="#cb6-17" aria-hidden="true"></a>                        <span class="kw">$emp_name</span> = get_sub_field<span class="ot">(</span><span class="st">&#39;employee_name&#39;</span><span class="ot">);</span></span>
<span id="cb6-18"><a href="#cb6-18" aria-hidden="true"></a>                        <span class="kw">$emp_role</span> = get_sub_field<span class="ot">(</span><span class="st">&#39;employee_role&#39;</span><span class="ot">);</span></span>
<span id="cb6-19"><a href="#cb6-19" aria-hidden="true"></a>                        <span class="kw">?&gt;</span></span>
<span id="cb6-20"><a href="#cb6-20" aria-hidden="true"></a></span>
<span id="cb6-21"><a href="#cb6-21" aria-hidden="true"></a>                        &lt;div <span class="kw">class</span>=<span class="st">&quot;employee&quot;</span>&gt;</span>
<span id="cb6-22"><a href="#cb6-22" aria-hidden="true"></a>                            &lt;h3&gt;&lt;<span class="ot">?</span>php <span class="kw">echo</span> esc_html<span class="ot">(</span><span class="kw">$emp_name</span><span class="ot">);</span> <span class="kw">?&gt;</span>&lt;/h3&gt;</span>
<span id="cb6-23"><a href="#cb6-23" aria-hidden="true"></a>                            &lt;p&gt;&lt;<span class="ot">?</span>php <span class="kw">echo</span> esc_html<span class="ot">(</span><span class="kw">$emp_role</span><span class="ot">);</span> <span class="kw">?&gt;</span>&lt;/p&gt;</span>
<span id="cb6-24"><a href="#cb6-24" aria-hidden="true"></a>                        &lt;/div&gt;</span>
<span id="cb6-25"><a href="#cb6-25" aria-hidden="true"></a></span>
<span id="cb6-26"><a href="#cb6-26" aria-hidden="true"></a>                    &lt;<span class="ot">?</span>php <span class="kw">endwhile</span><span class="ot">;</span> <span class="kw">?&gt;</span></span>
<span id="cb6-27"><a href="#cb6-27" aria-hidden="true"></a>                &lt;/div&gt;</span>
<span id="cb6-28"><a href="#cb6-28" aria-hidden="true"></a>            &lt;<span class="ot">?</span>php <span class="kw">endif</span><span class="ot">;</span> <span class="kw">?&gt;</span></span>
<span id="cb6-29"><a href="#cb6-29" aria-hidden="true"></a>        &lt;/div&gt;</span>
<span id="cb6-30"><a href="#cb6-30" aria-hidden="true"></a></span>
<span id="cb6-31"><a href="#cb6-31" aria-hidden="true"></a>    &lt;<span class="ot">?</span>php <span class="kw">endwhile</span><span class="ot">;</span></span>
<span id="cb6-32"><a href="#cb6-32" aria-hidden="true"></a><span class="kw">endif</span><span class="ot">;</span></span>
<span id="cb6-33"><a href="#cb6-33" aria-hidden="true"></a><span class="kw">?&gt;</span></span></code></pre>
</div>
<h2 id="slider-repeater-example">Slider Repeater Example</h2>
<p><strong>Image Slider with Repeater</strong>:</p>
<div class="sourceCode" id="cb7">
<pre class="sourceCode php"><code class="sourceCode php"><span id="cb7-1"><a href="#cb7-1" aria-hidden="true"></a><span class="kw">&lt;?php</span></span>
<span id="cb7-2"><a href="#cb7-2" aria-hidden="true"></a><span class="kw">if</span> <span class="ot">(</span>have_rows<span class="ot">(</span><span class="st">&#39;slider_images&#39;</span><span class="ot">))</span> :</span>
<span id="cb7-3"><a href="#cb7-3" aria-hidden="true"></a>    <span class="kw">?&gt;</span></span>
<span id="cb7-4"><a href="#cb7-4" aria-hidden="true"></a>    &lt;div <span class="kw">class</span>=<span class="st">&quot;image-slider&quot;</span>&gt;</span>
<span id="cb7-5"><a href="#cb7-5" aria-hidden="true"></a>        &lt;div <span class="kw">class</span>=<span class="st">&quot;slider-container&quot;</span>&gt;</span>
<span id="cb7-6"><a href="#cb7-6" aria-hidden="true"></a>            &lt;<span class="ot">?</span>php</span>
<span id="cb7-7"><a href="#cb7-7" aria-hidden="true"></a>            <span class="kw">$slide_index</span> = <span class="dv">0</span><span class="ot">;</span></span>
<span id="cb7-8"><a href="#cb7-8" aria-hidden="true"></a>            <span class="kw">while</span> <span class="ot">(</span>have_rows<span class="ot">(</span><span class="st">&#39;slider_images&#39;</span><span class="ot">))</span> <span class="ot">:</span> the_row<span class="ot">();</span></span>
<span id="cb7-9"><a href="#cb7-9" aria-hidden="true"></a>                <span class="kw">$image</span> = get_sub_field<span class="ot">(</span><span class="st">&#39;slide_image&#39;</span><span class="ot">);</span></span>
<span id="cb7-10"><a href="#cb7-10" aria-hidden="true"></a>                <span class="kw">$caption</span> = get_sub_field<span class="ot">(</span><span class="st">&#39;slide_caption&#39;</span><span class="ot">);</span></span>
<span id="cb7-11"><a href="#cb7-11" aria-hidden="true"></a>                <span class="kw">$link</span> = get_sub_field<span class="ot">(</span><span class="st">&#39;slide_link&#39;</span><span class="ot">);</span></span>
<span id="cb7-12"><a href="#cb7-12" aria-hidden="true"></a>                <span class="kw">$slide_index</span>++<span class="ot">;</span></span>
<span id="cb7-13"><a href="#cb7-13" aria-hidden="true"></a>                <span class="kw">?&gt;</span></span>
<span id="cb7-14"><a href="#cb7-14" aria-hidden="true"></a></span>
<span id="cb7-15"><a href="#cb7-15" aria-hidden="true"></a>                &lt;div <span class="kw">class</span>=<span class="st">&quot;slide&quot;</span> data-slide=<span class="st">&quot;&lt;?php echo esc_attr(</span><span class="kw">$slide_index</span><span class="st">); ?&gt;&quot;</span>&gt;</span>
<span id="cb7-16"><a href="#cb7-16" aria-hidden="true"></a>                    &lt;<span class="ot">?</span>php <span class="kw">if</span> <span class="ot">(</span><span class="kw">$link</span><span class="ot">)</span> <span class="ot">:</span> <span class="kw">?&gt;</span></span>
<span id="cb7-17"><a href="#cb7-17" aria-hidden="true"></a>                        &lt;a href=<span class="st">&quot;&lt;?php echo esc_url(</span><span class="kw">$link</span><span class="st">); ?&gt;&quot;</span>&gt;</span>
<span id="cb7-18"><a href="#cb7-18" aria-hidden="true"></a>                    &lt;<span class="ot">?</span>php <span class="kw">endif</span><span class="ot">;</span> <span class="kw">?&gt;</span></span>
<span id="cb7-19"><a href="#cb7-19" aria-hidden="true"></a></span>
<span id="cb7-20"><a href="#cb7-20" aria-hidden="true"></a>                    &lt;<span class="ot">?</span>php <span class="kw">if</span> <span class="ot">(</span><span class="kw">$image</span><span class="ot">)</span> <span class="ot">:</span> <span class="kw">?&gt;</span></span>
<span id="cb7-21"><a href="#cb7-21" aria-hidden="true"></a>                        &lt;img src=<span class="st">&quot;&lt;?php echo esc_url(</span><span class="kw">$image</span><span class="st">[&#39;sizes&#39;][&#39;large&#39;]); ?&gt;&quot;</span></span>
<span id="cb7-22"><a href="#cb7-22" aria-hidden="true"></a>                             alt=<span class="st">&quot;&lt;?php echo esc_attr(</span><span class="kw">$image</span><span class="st">[&#39;alt&#39;]); ?&gt;&quot;</span> /&gt;</span>
<span id="cb7-23"><a href="#cb7-23" aria-hidden="true"></a>                    &lt;<span class="ot">?</span>php <span class="kw">endif</span><span class="ot">;</span> <span class="kw">?&gt;</span></span>
<span id="cb7-24"><a href="#cb7-24" aria-hidden="true"></a></span>
<span id="cb7-25"><a href="#cb7-25" aria-hidden="true"></a>                    &lt;<span class="ot">?</span>php <span class="kw">if</span> <span class="ot">(</span><span class="kw">$link</span><span class="ot">)</span> <span class="ot">:</span> <span class="kw">?&gt;</span></span>
<span id="cb7-26"><a href="#cb7-26" aria-hidden="true"></a>                        &lt;/a&gt;</span>
<span id="cb7-27"><a href="#cb7-27" aria-hidden="true"></a>                    &lt;<span class="ot">?</span>php <span class="kw">endif</span><span class="ot">;</span> <span class="kw">?&gt;</span></span>
<span id="cb7-28"><a href="#cb7-28" aria-hidden="true"></a></span>
<span id="cb7-29"><a href="#cb7-29" aria-hidden="true"></a>                    &lt;<span class="ot">?</span>php <span class="kw">if</span> <span class="ot">(</span><span class="kw">$caption</span><span class="ot">)</span> <span class="ot">:</span> <span class="kw">?&gt;</span></span>
<span id="cb7-30"><a href="#cb7-30" aria-hidden="true"></a>                        &lt;div <span class="kw">class</span>=<span class="st">&quot;slide-caption&quot;</span>&gt;</span>
<span id="cb7-31"><a href="#cb7-31" aria-hidden="true"></a>                            &lt;<span class="ot">?</span>php <span class="kw">echo</span> esc_html<span class="ot">(</span><span class="kw">$caption</span><span class="ot">);</span> <span class="kw">?&gt;</span></span>
<span id="cb7-32"><a href="#cb7-32" aria-hidden="true"></a>                        &lt;/div&gt;</span>
<span id="cb7-33"><a href="#cb7-33" aria-hidden="true"></a>                    &lt;<span class="ot">?</span>php <span class="kw">endif</span><span class="ot">;</span> <span class="kw">?&gt;</span></span>
<span id="cb7-34"><a href="#cb7-34" aria-hidden="true"></a>                &lt;/div&gt;</span>
<span id="cb7-35"><a href="#cb7-35" aria-hidden="true"></a></span>
<span id="cb7-36"><a href="#cb7-36" aria-hidden="true"></a>            &lt;<span class="ot">?</span>php <span class="kw">endwhile</span><span class="ot">;</span> <span class="kw">?&gt;</span></span>
<span id="cb7-37"><a href="#cb7-37" aria-hidden="true"></a>        &lt;/div&gt;</span>
<span id="cb7-38"><a href="#cb7-38" aria-hidden="true"></a></span>
<span id="cb7-39"><a href="#cb7-39" aria-hidden="true"></a>        &lt;button <span class="kw">class</span>=<span class="st">&quot;slider-prev&quot;</span> aria-label=<span class="st">&quot;Previous slide&quot;</span>&gt;‹&lt;/button&gt;</span>
<span id="cb7-40"><a href="#cb7-40" aria-hidden="true"></a>        &lt;button <span class="kw">class</span>=<span class="st">&quot;slider-next&quot;</span> aria-label=<span class="st">&quot;Next slide&quot;</span>&gt;›&lt;/button&gt;</span>
<span id="cb7-41"><a href="#cb7-41" aria-hidden="true"></a>    &lt;/div&gt;</span>
<span id="cb7-42"><a href="#cb7-42" aria-hidden="true"></a>&lt;<span class="ot">?</span>php <span class="kw">endif</span><span class="ot">;</span> <span class="kw">?&gt;</span></span></code></pre>
</div>
<h2 id="programmatic-repeater-registration">Programmatic Repeater Registration</h2>
<p><strong>Register Repeater via PHP</strong>:</p>
<div class="sourceCode" id="cb8">
<pre class="sourceCode php"><code class="sourceCode php"><span id="cb8-1"><a href="#cb8-1" aria-hidden="true"></a><span class="kw">function</span> mytheme_register_repeater_fields<span class="ot">()</span> {</span>
<span id="cb8-2"><a href="#cb8-2" aria-hidden="true"></a>    <span class="kw">if</span> <span class="ot">(</span><span class="fu">function_exists</span><span class="ot">(</span><span class="st">&#39;acf_add_local_field_group&#39;</span><span class="ot">))</span> {</span>
<span id="cb8-3"><a href="#cb8-3" aria-hidden="true"></a>        acf_add_local_field_group<span class="ot">(</span><span class="kw">array</span><span class="ot">(</span></span>
<span id="cb8-4"><a href="#cb8-4" aria-hidden="true"></a>            <span class="st">&#39;key&#39;</span>    =&gt; <span class="st">&#39;group_testimonials&#39;</span><span class="ot">,</span></span>
<span id="cb8-5"><a href="#cb8-5" aria-hidden="true"></a>            <span class="st">&#39;title&#39;</span>  =&gt; <span class="st">&#39;Testimonials&#39;</span><span class="ot">,</span></span>
<span id="cb8-6"><a href="#cb8-6" aria-hidden="true"></a>            <span class="st">&#39;fields&#39;</span> =&gt; <span class="kw">array</span><span class="ot">(</span></span>
<span id="cb8-7"><a href="#cb8-7" aria-hidden="true"></a>                <span class="kw">array</span><span class="ot">(</span></span>
<span id="cb8-8"><a href="#cb8-8" aria-hidden="true"></a>                    <span class="st">&#39;key&#39;</span>   =&gt; <span class="st">&#39;field_testimonials&#39;</span><span class="ot">,</span></span>
<span id="cb8-9"><a href="#cb8-9" aria-hidden="true"></a>                    <span class="st">&#39;label&#39;</span> =&gt; <span class="st">&#39;Testimonials&#39;</span><span class="ot">,</span></span>
<span id="cb8-10"><a href="#cb8-10" aria-hidden="true"></a>                    <span class="st">&#39;name&#39;</span>  =&gt; <span class="st">&#39;testimonials&#39;</span><span class="ot">,</span></span>
<span id="cb8-11"><a href="#cb8-11" aria-hidden="true"></a>                    <span class="st">&#39;type&#39;</span>  =&gt; <span class="st">&#39;repeater&#39;</span><span class="ot">,</span></span>
<span id="cb8-12"><a href="#cb8-12" aria-hidden="true"></a>                    <span class="st">&#39;layout&#39;</span> =&gt; <span class="st">&#39;block&#39;</span><span class="ot">,</span></span>
<span id="cb8-13"><a href="#cb8-13" aria-hidden="true"></a>                    <span class="st">&#39;button_label&#39;</span> =&gt; <span class="st">&#39;Add Testimonial&#39;</span><span class="ot">,</span></span>
<span id="cb8-14"><a href="#cb8-14" aria-hidden="true"></a>                    <span class="st">&#39;sub_fields&#39;</span> =&gt; <span class="kw">array</span><span class="ot">(</span></span>
<span id="cb8-15"><a href="#cb8-15" aria-hidden="true"></a>                        <span class="kw">array</span><span class="ot">(</span></span>
<span id="cb8-16"><a href="#cb8-16" aria-hidden="true"></a>                            <span class="st">&#39;key&#39;</span>   =&gt; <span class="st">&#39;field_testimonial_quote&#39;</span><span class="ot">,</span></span>
<span id="cb8-17"><a href="#cb8-17" aria-hidden="true"></a>                            <span class="st">&#39;label&#39;</span> =&gt; <span class="st">&#39;Quote&#39;</span><span class="ot">,</span></span>
<span id="cb8-18"><a href="#cb8-18" aria-hidden="true"></a>                            <span class="st">&#39;name&#39;</span>  =&gt; <span class="st">&#39;quote&#39;</span><span class="ot">,</span></span>
<span id="cb8-19"><a href="#cb8-19" aria-hidden="true"></a>                            <span class="st">&#39;type&#39;</span>  =&gt; <span class="st">&#39;textarea&#39;</span><span class="ot">,</span></span>
<span id="cb8-20"><a href="#cb8-20" aria-hidden="true"></a>                        <span class="ot">),</span></span>
<span id="cb8-21"><a href="#cb8-21" aria-hidden="true"></a>                        <span class="kw">array</span><span class="ot">(</span></span>
<span id="cb8-22"><a href="#cb8-22" aria-hidden="true"></a>                            <span class="st">&#39;key&#39;</span>   =&gt; <span class="st">&#39;field_testimonial_author&#39;</span><span class="ot">,</span></span>
<span id="cb8-23"><a href="#cb8-23" aria-hidden="true"></a>                            <span class="st">&#39;label&#39;</span> =&gt; <span class="st">&#39;Author&#39;</span><span class="ot">,</span></span>
<span id="cb8-24"><a href="#cb8-24" aria-hidden="true"></a>                            <span class="st">&#39;name&#39;</span>  =&gt; <span class="st">&#39;author&#39;</span><span class="ot">,</span></span>
<span id="cb8-25"><a href="#cb8-25" aria-hidden="true"></a>                            <span class="st">&#39;type&#39;</span>  =&gt; <span class="st">&#39;text&#39;</span><span class="ot">,</span></span>
<span id="cb8-26"><a href="#cb8-26" aria-hidden="true"></a>                        <span class="ot">),</span></span>
<span id="cb8-27"><a href="#cb8-27" aria-hidden="true"></a>                        <span class="kw">array</span><span class="ot">(</span></span>
<span id="cb8-28"><a href="#cb8-28" aria-hidden="true"></a>                            <span class="st">&#39;key&#39;</span>   =&gt; <span class="st">&#39;field_testimonial_rating&#39;</span><span class="ot">,</span></span>
<span id="cb8-29"><a href="#cb8-29" aria-hidden="true"></a>                            <span class="st">&#39;label&#39;</span> =&gt; <span class="st">&#39;Rating&#39;</span><span class="ot">,</span></span>
<span id="cb8-30"><a href="#cb8-30" aria-hidden="true"></a>                            <span class="st">&#39;name&#39;</span>  =&gt; <span class="st">&#39;rating&#39;</span><span class="ot">,</span></span>
<span id="cb8-31"><a href="#cb8-31" aria-hidden="true"></a>                            <span class="st">&#39;type&#39;</span>  =&gt; <span class="st">&#39;number&#39;</span><span class="ot">,</span></span>
<span id="cb8-32"><a href="#cb8-32" aria-hidden="true"></a>                            <span class="st">&#39;min&#39;</span>   =&gt; <span class="dv">1</span><span class="ot">,</span></span>
<span id="cb8-33"><a href="#cb8-33" aria-hidden="true"></a>                            <span class="st">&#39;max&#39;</span>   =&gt; <span class="dv">5</span><span class="ot">,</span></span>
<span id="cb8-34"><a href="#cb8-34" aria-hidden="true"></a>                        <span class="ot">),</span></span>
<span id="cb8-35"><a href="#cb8-35" aria-hidden="true"></a>                        <span class="kw">array</span><span class="ot">(</span></span>
<span id="cb8-36"><a href="#cb8-36" aria-hidden="true"></a>                            <span class="st">&#39;key&#39;</span>   =&gt; <span class="st">&#39;field_testimonial_photo&#39;</span><span class="ot">,</span></span>
<span id="cb8-37"><a href="#cb8-37" aria-hidden="true"></a>                            <span class="st">&#39;label&#39;</span> =&gt; <span class="st">&#39;Photo&#39;</span><span class="ot">,</span></span>
<span id="cb8-38"><a href="#cb8-38" aria-hidden="true"></a>                            <span class="st">&#39;name&#39;</span>  =&gt; <span class="st">&#39;photo&#39;</span><span class="ot">,</span></span>
<span id="cb8-39"><a href="#cb8-39" aria-hidden="true"></a>                            <span class="st">&#39;type&#39;</span>  =&gt; <span class="st">&#39;image&#39;</span><span class="ot">,</span></span>
<span id="cb8-40"><a href="#cb8-40" aria-hidden="true"></a>                            <span class="st">&#39;return_format&#39;</span> =&gt; <span class="st">&#39;array&#39;</span><span class="ot">,</span></span>
<span id="cb8-41"><a href="#cb8-41" aria-hidden="true"></a>                        <span class="ot">),</span></span>
<span id="cb8-42"><a href="#cb8-42" aria-hidden="true"></a>                    <span class="ot">),</span></span>
<span id="cb8-43"><a href="#cb8-43" aria-hidden="true"></a>                <span class="ot">),</span></span>
<span id="cb8-44"><a href="#cb8-44" aria-hidden="true"></a>            <span class="ot">),</span></span>
<span id="cb8-45"><a href="#cb8-45" aria-hidden="true"></a>            <span class="st">&#39;location&#39;</span> =&gt; <span class="kw">array</span><span class="ot">(</span></span>
<span id="cb8-46"><a href="#cb8-46" aria-hidden="true"></a>                <span class="kw">array</span><span class="ot">(</span></span>
<span id="cb8-47"><a href="#cb8-47" aria-hidden="true"></a>                    <span class="kw">array</span><span class="ot">(</span></span>
<span id="cb8-48"><a href="#cb8-48" aria-hidden="true"></a>                        <span class="st">&#39;param&#39;</span>    =&gt; <span class="st">&#39;post_type&#39;</span><span class="ot">,</span></span>
<span id="cb8-49"><a href="#cb8-49" aria-hidden="true"></a>                        <span class="st">&#39;operator&#39;</span> =&gt; <span class="st">&#39;==&#39;</span><span class="ot">,</span></span>
<span id="cb8-50"><a href="#cb8-50" aria-hidden="true"></a>                        <span class="st">&#39;value&#39;</span>    =&gt; <span class="st">&#39;page&#39;</span><span class="ot">,</span></span>
<span id="cb8-51"><a href="#cb8-51" aria-hidden="true"></a>                    <span class="ot">),</span></span>
<span id="cb8-52"><a href="#cb8-52" aria-hidden="true"></a>                <span class="ot">),</span></span>
<span id="cb8-53"><a href="#cb8-53" aria-hidden="true"></a>            <span class="ot">),</span></span>
<span id="cb8-54"><a href="#cb8-54" aria-hidden="true"></a>        <span class="ot">));</span></span>
<span id="cb8-55"><a href="#cb8-55" aria-hidden="true"></a>    }</span>
<span id="cb8-56"><a href="#cb8-56" aria-hidden="true"></a>}</span>
<span id="cb8-57"><a href="#cb8-57" aria-hidden="true"></a>add_action<span class="ot">(</span><span class="st">&#39;acf/init&#39;</span><span class="ot">,</span> <span class="st">&#39;mytheme_register_repeater_fields&#39;</span><span class="ot">);</span></span></code></pre>
</div>
<h2 id="accessing-repeater-data-outside-loop">Accessing Repeater Data Outside Loop</h2>
<p><strong>Get All Repeater Rows</strong>:</p>
<div class="sourceCode" id="cb9">
<pre class="sourceCode php"><code class="sourceCode php"><span id="cb9-1"><a href="#cb9-1" aria-hidden="true"></a><span class="kw">&lt;?php</span></span>
<span id="cb9-2"><a href="#cb9-2" aria-hidden="true"></a><span class="co">// Get repeater field as array</span></span>
<span id="cb9-3"><a href="#cb9-3" aria-hidden="true"></a><span class="kw">$team_members</span> = get_field<span class="ot">(</span><span class="st">&#39;team_members&#39;</span><span class="ot">);</span></span>
<span id="cb9-4"><a href="#cb9-4" aria-hidden="true"></a></span>
<span id="cb9-5"><a href="#cb9-5" aria-hidden="true"></a><span class="kw">if</span> <span class="ot">(</span><span class="kw">$team_members</span><span class="ot">)</span> :</span>
<span id="cb9-6"><a href="#cb9-6" aria-hidden="true"></a>    <span class="kw">?&gt;</span></span>
<span id="cb9-7"><a href="#cb9-7" aria-hidden="true"></a>    &lt;div <span class="kw">class</span>=<span class="st">&quot;team-list&quot;</span>&gt;</span>
<span id="cb9-8"><a href="#cb9-8" aria-hidden="true"></a>        &lt;<span class="ot">?</span>php <span class="kw">foreach</span> <span class="ot">(</span><span class="kw">$team_members</span> <span class="kw">as</span> <span class="kw">$member</span><span class="ot">)</span> <span class="ot">:</span> <span class="kw">?&gt;</span></span>
<span id="cb9-9"><a href="#cb9-9" aria-hidden="true"></a>            &lt;div <span class="kw">class</span>=<span class="st">&quot;member&quot;</span>&gt;</span>
<span id="cb9-10"><a href="#cb9-10" aria-hidden="true"></a>                &lt;h3&gt;&lt;<span class="ot">?</span>php <span class="kw">echo</span> esc_html<span class="ot">(</span><span class="kw">$member</span><span class="ot">[</span><span class="st">&#39;name&#39;</span><span class="ot">]);</span> <span class="kw">?&gt;</span>&lt;/h3&gt;</span>
<span id="cb9-11"><a href="#cb9-11" aria-hidden="true"></a>                &lt;p&gt;&lt;<span class="ot">?</span>php <span class="kw">echo</span> esc_html<span class="ot">(</span><span class="kw">$member</span><span class="ot">[</span><span class="st">&#39;position&#39;</span><span class="ot">]);</span> <span class="kw">?&gt;</span>&lt;/p&gt;</span>
<span id="cb9-12"><a href="#cb9-12" aria-hidden="true"></a>            &lt;/div&gt;</span>
<span id="cb9-13"><a href="#cb9-13" aria-hidden="true"></a>        &lt;<span class="ot">?</span>php <span class="kw">endfor</span>each<span class="ot">;</span> <span class="kw">?&gt;</span></span>
<span id="cb9-14"><a href="#cb9-14" aria-hidden="true"></a>    &lt;/div&gt;</span>
<span id="cb9-15"><a href="#cb9-15" aria-hidden="true"></a>&lt;<span class="ot">?</span>php <span class="kw">endif</span><span class="ot">;</span> <span class="kw">?&gt;</span></span></code></pre>
</div>
<h2 id="conditional-display-based-on-row-count">Conditional Display Based on Row Count</h2>
<p><strong>Show Different Layouts</strong>:</p>
<div class="sourceCode" id="cb10">
<pre class="sourceCode php"><code class="sourceCode php"><span id="cb10-1"><a href="#cb10-1" aria-hidden="true"></a><span class="kw">&lt;?php</span></span>
<span id="cb10-2"><a href="#cb10-2" aria-hidden="true"></a><span class="kw">$features</span> = get_field<span class="ot">(</span><span class="st">&#39;product_features&#39;</span><span class="ot">);</span></span>
<span id="cb10-3"><a href="#cb10-3" aria-hidden="true"></a><span class="kw">$feature_count</span> = <span class="kw">$features</span> <span class="ot">?</span> <span class="fu">count</span><span class="ot">(</span><span class="kw">$features</span><span class="ot">)</span> <span class="ot">:</span> <span class="dv">0</span><span class="ot">;</span></span>
<span id="cb10-4"><a href="#cb10-4" aria-hidden="true"></a></span>
<span id="cb10-5"><a href="#cb10-5" aria-hidden="true"></a><span class="kw">if</span> <span class="ot">(</span><span class="kw">$feature_count</span> &gt; <span class="dv">0</span><span class="ot">)</span> :</span>
<span id="cb10-6"><a href="#cb10-6" aria-hidden="true"></a>    <span class="co">// Choose layout based on count</span></span>
<span id="cb10-7"><a href="#cb10-7" aria-hidden="true"></a>    <span class="kw">$grid_class</span> = <span class="kw">$feature_count</span> &lt;= <span class="dv">3</span> <span class="ot">?</span> <span class="st">&#39;grid-three&#39;</span> <span class="ot">:</span> <span class="st">&#39;grid-four&#39;</span><span class="ot">;</span></span>
<span id="cb10-8"><a href="#cb10-8" aria-hidden="true"></a>    <span class="kw">?&gt;</span></span>
<span id="cb10-9"><a href="#cb10-9" aria-hidden="true"></a></span>
<span id="cb10-10"><a href="#cb10-10" aria-hidden="true"></a>    &lt;div <span class="kw">class</span>=<span class="st">&quot;features &lt;?php echo esc_attr(</span><span class="kw">$grid_class</span><span class="st">); ?&gt;&quot;</span>&gt;</span>
<span id="cb10-11"><a href="#cb10-11" aria-hidden="true"></a>        &lt;<span class="ot">?</span>php <span class="kw">foreach</span> <span class="ot">(</span><span class="kw">$features</span> <span class="kw">as</span> <span class="kw">$feature</span><span class="ot">)</span> <span class="ot">:</span> <span class="kw">?&gt;</span></span>
<span id="cb10-12"><a href="#cb10-12" aria-hidden="true"></a>            &lt;div <span class="kw">class</span>=<span class="st">&quot;feature&quot;</span>&gt;</span>
<span id="cb10-13"><a href="#cb10-13" aria-hidden="true"></a>                &lt;<span class="ot">?</span>php <span class="kw">if</span> <span class="ot">(</span><span class="kw">$feature</span><span class="ot">[</span><span class="st">&#39;icon&#39;</span><span class="ot">])</span> <span class="ot">:</span> <span class="kw">?&gt;</span></span>
<span id="cb10-14"><a href="#cb10-14" aria-hidden="true"></a>                    &lt;img src=<span class="st">&quot;&lt;?php echo esc_url(</span><span class="kw">$feature</span><span class="st">[&#39;icon&#39;][&#39;url&#39;]); ?&gt;&quot;</span></span>
<span id="cb10-15"><a href="#cb10-15" aria-hidden="true"></a>                         alt=<span class="st">&quot;&quot;</span> <span class="kw">class</span>=<span class="st">&quot;feature-icon&quot;</span> /&gt;</span>
<span id="cb10-16"><a href="#cb10-16" aria-hidden="true"></a>                &lt;<span class="ot">?</span>php <span class="kw">endif</span><span class="ot">;</span> <span class="kw">?&gt;</span></span>
<span id="cb10-17"><a href="#cb10-17" aria-hidden="true"></a></span>
<span id="cb10-18"><a href="#cb10-18" aria-hidden="true"></a>                &lt;h3&gt;&lt;<span class="ot">?</span>php <span class="kw">echo</span> esc_html<span class="ot">(</span><span class="kw">$feature</span><span class="ot">[</span><span class="st">&#39;title&#39;</span><span class="ot">]);</span> <span class="kw">?&gt;</span>&lt;/h3&gt;</span>
<span id="cb10-19"><a href="#cb10-19" aria-hidden="true"></a>                &lt;p&gt;&lt;<span class="ot">?</span>php <span class="kw">echo</span> esc_html<span class="ot">(</span><span class="kw">$feature</span><span class="ot">[</span><span class="st">&#39;description&#39;</span><span class="ot">]);</span> <span class="kw">?&gt;</span>&lt;/p&gt;</span>
<span id="cb10-20"><a href="#cb10-20" aria-hidden="true"></a>            &lt;/div&gt;</span>
<span id="cb10-21"><a href="#cb10-21" aria-hidden="true"></a>        &lt;<span class="ot">?</span>php <span class="kw">endfor</span>each<span class="ot">;</span> <span class="kw">?&gt;</span></span>
<span id="cb10-22"><a href="#cb10-22" aria-hidden="true"></a>    &lt;/div&gt;</span>
<span id="cb10-23"><a href="#cb10-23" aria-hidden="true"></a></span>
<span id="cb10-24"><a href="#cb10-24" aria-hidden="true"></a>&lt;<span class="ot">?</span>php <span class="kw">endif</span><span class="ot">;</span> <span class="kw">?&gt;</span></span></code></pre>
</div>
<h2 id="filtering-and-sorting-repeater-data">Filtering and Sorting Repeater Data</h2>
<p><strong>Custom Order and Filters</strong>:</p>
<div class="sourceCode" id="cb11">
<pre class="sourceCode php"><code class="sourceCode php"><span id="cb11-1"><a href="#cb11-1" aria-hidden="true"></a><span class="kw">&lt;?php</span></span>
<span id="cb11-2"><a href="#cb11-2" aria-hidden="true"></a><span class="kw">$team_members</span> = get_field<span class="ot">(</span><span class="st">&#39;team_members&#39;</span><span class="ot">);</span></span>
<span id="cb11-3"><a href="#cb11-3" aria-hidden="true"></a></span>
<span id="cb11-4"><a href="#cb11-4" aria-hidden="true"></a><span class="kw">if</span> <span class="ot">(</span><span class="kw">$team_members</span><span class="ot">)</span> :</span>
<span id="cb11-5"><a href="#cb11-5" aria-hidden="true"></a>    <span class="co">// Sort by name alphabetically</span></span>
<span id="cb11-6"><a href="#cb11-6" aria-hidden="true"></a>    <span class="fu">usort</span><span class="ot">(</span><span class="kw">$team_members</span><span class="ot">,</span> <span class="kw">function</span><span class="ot">(</span><span class="kw">$a</span><span class="ot">,</span> <span class="kw">$b</span><span class="ot">)</span> {</span>
<span id="cb11-7"><a href="#cb11-7" aria-hidden="true"></a>        <span class="kw">return</span> <span class="fu">strcmp</span><span class="ot">(</span><span class="kw">$a</span><span class="ot">[</span><span class="st">&#39;name&#39;</span><span class="ot">],</span> <span class="kw">$b</span><span class="ot">[</span><span class="st">&#39;name&#39;</span><span class="ot">]);</span></span>
<span id="cb11-8"><a href="#cb11-8" aria-hidden="true"></a>    }<span class="ot">);</span></span>
<span id="cb11-9"><a href="#cb11-9" aria-hidden="true"></a></span>
<span id="cb11-10"><a href="#cb11-10" aria-hidden="true"></a>    <span class="co">// Filter only featured members</span></span>
<span id="cb11-11"><a href="#cb11-11" aria-hidden="true"></a>    <span class="kw">$featured_members</span> = <span class="fu">array_filter</span><span class="ot">(</span><span class="kw">$team_members</span><span class="ot">,</span> <span class="kw">function</span><span class="ot">(</span><span class="kw">$member</span><span class="ot">)</span> {</span>
<span id="cb11-12"><a href="#cb11-12" aria-hidden="true"></a>        <span class="kw">return</span> <span class="kw">isset</span><span class="ot">(</span><span class="kw">$member</span><span class="ot">[</span><span class="st">&#39;is_featured&#39;</span><span class="ot">])</span> &amp;&amp; <span class="kw">$member</span><span class="ot">[</span><span class="st">&#39;is_featured&#39;</span><span class="ot">];</span></span>
<span id="cb11-13"><a href="#cb11-13" aria-hidden="true"></a>    }<span class="ot">);</span></span>
<span id="cb11-14"><a href="#cb11-14" aria-hidden="true"></a></span>
<span id="cb11-15"><a href="#cb11-15" aria-hidden="true"></a>    <span class="kw">foreach</span> <span class="ot">(</span><span class="kw">$featured_members</span> <span class="kw">as</span> <span class="kw">$member</span><span class="ot">)</span> :</span>
<span id="cb11-16"><a href="#cb11-16" aria-hidden="true"></a>        <span class="kw">?&gt;</span></span>
<span id="cb11-17"><a href="#cb11-17" aria-hidden="true"></a>        &lt;div <span class="kw">class</span>=<span class="st">&quot;member featured&quot;</span>&gt;</span>
<span id="cb11-18"><a href="#cb11-18" aria-hidden="true"></a>            &lt;h3&gt;&lt;<span class="ot">?</span>php <span class="kw">echo</span> esc_html<span class="ot">(</span><span class="kw">$member</span><span class="ot">[</span><span class="st">&#39;name&#39;</span><span class="ot">]);</span> <span class="kw">?&gt;</span>&lt;/h3&gt;</span>
<span id="cb11-19"><a href="#cb11-19" aria-hidden="true"></a>        &lt;/div&gt;</span>
<span id="cb11-20"><a href="#cb11-20" aria-hidden="true"></a>    &lt;<span class="ot">?</span>php <span class="kw">endfor</span>each<span class="ot">;</span></span>
<span id="cb11-21"><a href="#cb11-21" aria-hidden="true"></a><span class="kw">endif</span><span class="ot">;</span></span>
<span id="cb11-22"><a href="#cb11-22" aria-hidden="true"></a><span class="kw">?&gt;</span></span></code></pre>
</div>
<h2 id="ajax-addremove-rows">AJAX Add/Remove Rows</h2>
<p><strong>Dynamic Row Management</strong>:</p>
<div class="sourceCode" id="cb12">
<pre class="sourceCode javascript"><code class="sourceCode javascript"><span id="cb12-1"><a href="#cb12-1" aria-hidden="true"></a><span class="co">// JavaScript to add row via AJAX</span></span>
<span id="cb12-2"><a href="#cb12-2" aria-hidden="true"></a><span class="fu">jQuery</span>(<span class="bu">document</span>)<span class="op">.</span><span class="fu">ready</span>(<span class="kw">function</span> ($) {</span>
<span id="cb12-3"><a href="#cb12-3" aria-hidden="true"></a>    <span class="fu">$</span>(<span class="st">&quot;#add-testimonial&quot;</span>)<span class="op">.</span><span class="fu">on</span>(<span class="st">&quot;click&quot;</span><span class="op">,</span> <span class="kw">function</span> (e) {</span>
<span id="cb12-4"><a href="#cb12-4" aria-hidden="true"></a>        e<span class="op">.</span><span class="fu">preventDefault</span>()<span class="op">;</span></span>
<span id="cb12-5"><a href="#cb12-5" aria-hidden="true"></a></span>
<span id="cb12-6"><a href="#cb12-6" aria-hidden="true"></a>        $<span class="op">.</span><span class="fu">ajax</span>({</span>
<span id="cb12-7"><a href="#cb12-7" aria-hidden="true"></a>            <span class="dt">url</span><span class="op">:</span> ajaxurl<span class="op">,</span></span>
<span id="cb12-8"><a href="#cb12-8" aria-hidden="true"></a>            <span class="dt">type</span><span class="op">:</span> <span class="st">&quot;POST&quot;</span><span class="op">,</span></span>
<span id="cb12-9"><a href="#cb12-9" aria-hidden="true"></a>            <span class="dt">data</span><span class="op">:</span> {</span>
<span id="cb12-10"><a href="#cb12-10" aria-hidden="true"></a>                <span class="dt">action</span><span class="op">:</span> <span class="st">&quot;add_repeater_row&quot;</span><span class="op">,</span></span>
<span id="cb12-11"><a href="#cb12-11" aria-hidden="true"></a>                <span class="dt">post_id</span><span class="op">:</span> <span class="fu">$</span>(<span class="st">&quot;#post_id&quot;</span>)<span class="op">.</span><span class="fu">val</span>()<span class="op">,</span></span>
<span id="cb12-12"><a href="#cb12-12" aria-hidden="true"></a>                <span class="dt">field_key</span><span class="op">:</span> <span class="st">&quot;field_testimonials&quot;</span><span class="op">,</span></span>
<span id="cb12-13"><a href="#cb12-13" aria-hidden="true"></a>                <span class="dt">nonce</span><span class="op">:</span> <span class="fu">$</span>(<span class="st">&quot;#testimonial_nonce&quot;</span>)<span class="op">.</span><span class="fu">val</span>()</span>
<span id="cb12-14"><a href="#cb12-14" aria-hidden="true"></a>            }<span class="op">,</span></span>
<span id="cb12-15"><a href="#cb12-15" aria-hidden="true"></a>            <span class="dt">success</span><span class="op">:</span> <span class="kw">function</span> (response) {</span>
<span id="cb12-16"><a href="#cb12-16" aria-hidden="true"></a>                <span class="cf">if</span> (response<span class="op">.</span><span class="at">success</span>) {</span>
<span id="cb12-17"><a href="#cb12-17" aria-hidden="true"></a>                    location<span class="op">.</span><span class="fu">reload</span>()<span class="op">;</span></span>
<span id="cb12-18"><a href="#cb12-18" aria-hidden="true"></a>                }</span>
<span id="cb12-19"><a href="#cb12-19" aria-hidden="true"></a>            }</span>
<span id="cb12-20"><a href="#cb12-20" aria-hidden="true"></a>        })<span class="op">;</span></span>
<span id="cb12-21"><a href="#cb12-21" aria-hidden="true"></a>    })<span class="op">;</span></span>
<span id="cb12-22"><a href="#cb12-22" aria-hidden="true"></a>})<span class="op">;</span></span></code></pre>
</div>
<p><strong>PHP Handler</strong>:</p>
<div class="sourceCode" id="cb13">
<pre class="sourceCode php"><code class="sourceCode php"><span id="cb13-1"><a href="#cb13-1" aria-hidden="true"></a><span class="kw">function</span> mytheme_add_repeater_row<span class="ot">()</span> {</span>
<span id="cb13-2"><a href="#cb13-2" aria-hidden="true"></a>    check_ajax_referer<span class="ot">(</span><span class="st">&#39;testimonial_nonce&#39;</span><span class="ot">,</span> <span class="st">&#39;nonce&#39;</span><span class="ot">);</span></span>
<span id="cb13-3"><a href="#cb13-3" aria-hidden="true"></a></span>
<span id="cb13-4"><a href="#cb13-4" aria-hidden="true"></a>    <span class="kw">$post_id</span> = absint<span class="ot">(</span><span class="kw">$_POST</span><span class="ot">[</span><span class="st">&#39;post_id&#39;</span><span class="ot">]);</span></span>
<span id="cb13-5"><a href="#cb13-5" aria-hidden="true"></a>    <span class="kw">$field_key</span> = sanitize_text_field<span class="ot">(</span><span class="kw">$_POST</span><span class="ot">[</span><span class="st">&#39;field_key&#39;</span><span class="ot">]);</span></span>
<span id="cb13-6"><a href="#cb13-6" aria-hidden="true"></a></span>
<span id="cb13-7"><a href="#cb13-7" aria-hidden="true"></a>    <span class="kw">if</span> <span class="ot">(</span>!current_user_can<span class="ot">(</span><span class="st">&#39;edit_post&#39;</span><span class="ot">,</span> <span class="kw">$post_id</span><span class="ot">))</span> {</span>
<span id="cb13-8"><a href="#cb13-8" aria-hidden="true"></a>        wp_send_json_error<span class="ot">(</span><span class="st">&#39;Insufficient permissions&#39;</span><span class="ot">);</span></span>
<span id="cb13-9"><a href="#cb13-9" aria-hidden="true"></a>    }</span>
<span id="cb13-10"><a href="#cb13-10" aria-hidden="true"></a></span>
<span id="cb13-11"><a href="#cb13-11" aria-hidden="true"></a>    <span class="kw">$rows</span> = get_field<span class="ot">(</span><span class="kw">$field_key</span><span class="ot">,</span> <span class="kw">$post_id</span><span class="ot">);</span></span>
<span id="cb13-12"><a href="#cb13-12" aria-hidden="true"></a>    <span class="kw">$rows</span><span class="ot">[]</span> = <span class="kw">array</span><span class="ot">(</span></span>
<span id="cb13-13"><a href="#cb13-13" aria-hidden="true"></a>        <span class="st">&#39;quote&#39;</span>  =&gt; <span class="st">&#39;&#39;</span><span class="ot">,</span></span>
<span id="cb13-14"><a href="#cb13-14" aria-hidden="true"></a>        <span class="st">&#39;author&#39;</span> =&gt; <span class="st">&#39;&#39;</span><span class="ot">,</span></span>
<span id="cb13-15"><a href="#cb13-15" aria-hidden="true"></a>        <span class="st">&#39;rating&#39;</span> =&gt; <span class="dv">5</span><span class="ot">,</span></span>
<span id="cb13-16"><a href="#cb13-16" aria-hidden="true"></a>    <span class="ot">);</span></span>
<span id="cb13-17"><a href="#cb13-17" aria-hidden="true"></a></span>
<span id="cb13-18"><a href="#cb13-18" aria-hidden="true"></a>    update_field<span class="ot">(</span><span class="kw">$field_key</span><span class="ot">,</span> <span class="kw">$rows</span><span class="ot">,</span> <span class="kw">$post_id</span><span class="ot">);</span></span>
<span id="cb13-19"><a href="#cb13-19" aria-hidden="true"></a></span>
<span id="cb13-20"><a href="#cb13-20" aria-hidden="true"></a>    wp_send_json_success<span class="ot">();</span></span>
<span id="cb13-21"><a href="#cb13-21" aria-hidden="true"></a>}</span>
<span id="cb13-22"><a href="#cb13-22" aria-hidden="true"></a>add_action<span class="ot">(</span><span class="st">&#39;wp_ajax_add_repeater_row&#39;</span><span class="ot">,</span> <span class="st">&#39;mytheme_add_repeater_row&#39;</span><span class="ot">);</span></span></code></pre>
</div>
<h2 id="best-practices">Best Practices</h2>
<p><strong>Always Check for Rows</strong>:</p>
<div class="sourceCode" id="cb14">
<pre class="sourceCode php"><code class="sourceCode php"><span id="cb14-1"><a href="#cb14-1" aria-hidden="true"></a><span class="co">// Good</span></span>
<span id="cb14-2"><a href="#cb14-2" aria-hidden="true"></a><span class="kw">if</span> <span class="ot">(</span>have_rows<span class="ot">(</span><span class="st">&#39;field_name&#39;</span><span class="ot">))</span> {</span>
<span id="cb14-3"><a href="#cb14-3" aria-hidden="true"></a>    <span class="kw">while</span> <span class="ot">(</span>have_rows<span class="ot">(</span><span class="st">&#39;field_name&#39;</span><span class="ot">))</span> : the_row<span class="ot">();</span></span>
<span id="cb14-4"><a href="#cb14-4" aria-hidden="true"></a>        <span class="co">// Display content</span></span>
<span id="cb14-5"><a href="#cb14-5" aria-hidden="true"></a>    <span class="kw">endwhile</span><span class="ot">;</span></span>
<span id="cb14-6"><a href="#cb14-6" aria-hidden="true"></a>}</span>
<span id="cb14-7"><a href="#cb14-7" aria-hidden="true"></a></span>
<span id="cb14-8"><a href="#cb14-8" aria-hidden="true"></a><span class="co">// Bad - no check, may cause errors</span></span>
<span id="cb14-9"><a href="#cb14-9" aria-hidden="true"></a><span class="kw">while</span> <span class="ot">(</span>have_rows<span class="ot">(</span><span class="st">&#39;field_name&#39;</span><span class="ot">))</span> : the_row<span class="ot">();</span></span>
<span id="cb14-10"><a href="#cb14-10" aria-hidden="true"></a>    <span class="co">// Display content</span></span>
<span id="cb14-11"><a href="#cb14-11" aria-hidden="true"></a><span class="kw">endwhile</span><span class="ot">;</span></span></code></pre>
</div>
<p><strong>Escape All Output</strong>:</p>
<div class="sourceCode" id="cb15">
<pre class="sourceCode php"><code class="sourceCode php"><span id="cb15-1"><a href="#cb15-1" aria-hidden="true"></a><span class="kw">&lt;?php</span> <span class="kw">echo</span> esc_html<span class="ot">(</span>get_sub_field<span class="ot">(</span><span class="st">&#39;text_field&#39;</span><span class="ot">));</span> <span class="kw">?&gt;</span></span>
<span id="cb15-2"><a href="#cb15-2" aria-hidden="true"></a><span class="kw">&lt;?php</span> <span class="kw">echo</span> esc_url<span class="ot">(</span>get_sub_field<span class="ot">(</span><span class="st">&#39;url_field&#39;</span><span class="ot">));</span> <span class="kw">?&gt;</span></span>
<span id="cb15-3"><a href="#cb15-3" aria-hidden="true"></a><span class="kw">&lt;?php</span> <span class="kw">echo</span> esc_attr<span class="ot">(</span>get_sub_field<span class="ot">(</span><span class="st">&#39;attribute_field&#39;</span><span class="ot">));</span> <span class="kw">?&gt;</span></span></code></pre>
</div>
<p><strong>Use Row Index for Unique IDs</strong>:</p>
<div class="sourceCode" id="cb16">
<pre class="sourceCode php"><code class="sourceCode php"><span id="cb16-1"><a href="#cb16-1" aria-hidden="true"></a><span class="kw">&lt;?php</span> <span class="kw">while</span> <span class="ot">(</span>have_rows<span class="ot">(</span><span class="st">&#39;items&#39;</span><span class="ot">))</span> : the_row<span class="ot">();</span> <span class="kw">?&gt;</span></span>
<span id="cb16-2"><a href="#cb16-2" aria-hidden="true"></a>    &lt;div id=<span class="st">&quot;item-&lt;?php echo esc_attr(get_row_index()); ?&gt;&quot;</span>&gt;</span>
<span id="cb16-3"><a href="#cb16-3" aria-hidden="true"></a>        &lt;<span class="ot">?</span>php the_sub_field<span class="ot">(</span><span class="st">&#39;content&#39;</span><span class="ot">);</span> <span class="kw">?&gt;</span></span>
<span id="cb16-4"><a href="#cb16-4" aria-hidden="true"></a>    &lt;/div&gt;</span>
<span id="cb16-5"><a href="#cb16-5" aria-hidden="true"></a>&lt;<span class="ot">?</span>php <span class="kw">endwhile</span><span class="ot">;</span> <span class="kw">?&gt;</span></span></code></pre>
</div>
<h2 id="conclusion">Conclusion</h2>
<p>ACF Repeater Fields provide unlimited content flexibility through row-based field groups using have_rows() loops and get_sub_field() retrieval. Create nested repeaters for complex hierarchies, register fields programmatically with acf_add_local_field_group(), manipulate repeater data as arrays for sorting and filtering, and implement AJAX operations for dynamic row management. Repeater fields eliminate rigid content structures enabling editors to add unlimited team members, testimonials, FAQ items, features, and custom content patterns maintaining consistent data structure.</p>
<h2 id="external-links">External Links</h2>
<ol type="1">
<li><a href="https://www.advancedcustomfields.com/resources/repeater/">ACF Repeater Field Documentation</a></li>
<li><a href="https://www.advancedcustomfields.com/resources/have_rows/">have_rows() Function</a></li>
<li><a href="https://www.advancedcustomfields.com/resources/get_sub_field/">get_sub_field() Reference</a></li>
<li><a href="https://www.advancedcustomfields.com/pro/">ACF PRO Features</a></li>
<li><a href="https://www.advancedcustomfields.com/resources/add_row/">add_row() Function</a></li>
</ol>
<h2 id="call-to-action">Call to Action</h2>
<p>Custom field configurations need protection. <a href="https://backupcopilotplugin.com/">Backup Copilot Pro</a> backs up your WordPress ACF repeater field settings and content automatically. Safeguard your flexible content structures—start your free 30-day trial today!</p>
<p>The post <a href="https://developryplugins.com/how-to-use-acf-repeater-fields-complete-guide-with-examples/">How to Use ACF Repeater Fields: Complete Guide with Examples</a> appeared first on <a href="https://developryplugins.com">Developry Plugins</a>.</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
