<?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>flexible content Archives - Developry Plugins</title>
	<atom:link href="https://developryplugins.com/tag/flexible-content/feed/" rel="self" type="application/rss+xml" />
	<link>https://developryplugins.com/tag/flexible-content/</link>
	<description></description>
	<lastBuildDate>Mon, 24 Nov 2025 11:18:22 +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>flexible content Archives - Developry Plugins</title>
	<link>https://developryplugins.com/tag/flexible-content/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>ACF Flexible Content Layouts: Create Modular Page Builders</title>
		<link>https://developryplugins.com/acf-flexible-content-layouts-create-modular-page-builders/</link>
		
		<dc:creator><![CDATA[Krasen Slavov]]></dc:creator>
		<pubDate>Mon, 20 Oct 2025 09:00:00 +0000</pubDate>
				<category><![CDATA[Advanced Custom Fields (ACF) Tutorials]]></category>
		<category><![CDATA[acf layouts]]></category>
		<category><![CDATA[acf pro]]></category>
		<category><![CDATA[flexible content]]></category>
		<category><![CDATA[modular design]]></category>
		<category><![CDATA[page builder]]></category>
		<guid isPermaLink="false">https://developryplugins.com/acf-flexible-content-layouts-create-modular-page-builders/</guid>

					<description><![CDATA[<p>ACF Flexible Content Fields create drag-and-drop page builders through multiple layout types within a single field allowing editors complete layout control. From text blocks and image galleries to testimonial carousels...</p>
<p>The post <a href="https://developryplugins.com/acf-flexible-content-layouts-create-modular-page-builders/">ACF Flexible Content Layouts: Create Modular Page Builders</a> appeared first on <a href="https://developryplugins.com">Developry Plugins</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><!-- @format --></p>
<p>ACF Flexible Content Fields create drag-and-drop page builders through multiple layout types within a single field allowing editors complete layout control. From text blocks and image galleries to testimonial carousels and call-to-action sections, flexible content eliminates template constraints. This comprehensive guide teaches flexible content setup, layout configuration, get_row_layout() conditional display, nested flexible fields, programmatic registration, and advanced techniques building custom WordPress page builders with ACF PRO.</p>
<h2 id="what-is-flexible-content">What Is Flexible Content?</h2>
<p><strong>Flexible Content Concept</strong>:</p>
<p>Flexible Content (ACF PRO) allows users to choose from multiple layout types and arrange them in any order:</p>
<ul>
<li><strong>Text Block</strong>: Heading, paragraph, alignment</li>
<li><strong>Image Block</strong>: Image, caption, size</li>
<li><strong>Video Block</strong>: Video URL, thumbnail</li>
<li><strong>Gallery</strong>: Multiple images</li>
<li><strong>Testimonial</strong>: Quote, author, photo</li>
<li><strong>Call to Action</strong>: Heading, text, button</li>
</ul>
<p><strong>Key Benefits</strong>:</p>
<ul>
<li>Drag-and-drop reordering</li>
<li>Unlimited layout combinations</li>
<li>Different fields per layout type</li>
<li>Complete editor flexibility</li>
<li>No template changes needed</li>
</ul>
<h2 id="creating-flexible-content-field">Creating Flexible Content Field</h2>
<p><strong>Add Flexible Content via ACF UI</strong>:</p>
<ol type="1">
<li>Custom Fields → Add Field</li>
<li>Field Type: Flexible Content (ACF PRO)</li>
<li>Configuration:
<ul>
<li>Field Label: Page Content</li>
<li>Field Name: page_content</li>
<li>Button Label: “Add Content Block”</li>
<li>Min/Max Layouts: Set limits (optional)</li>
</ul>
</li>
</ol>
<p><strong>Add Layout Types</strong>:</p>
<p>Click “Add Layout” for each content type:</p>
<p><strong>Layout 1: Text Block</strong></p>
<ul>
<li>Layout Name: text_block</li>
<li>Layout Label: Text Block</li>
<li>Sub-fields:
<ul>
<li>heading (Text)</li>
<li>content (Wysiwyg Editor)</li>
<li>alignment (Select: left/center/right)</li>
</ul>
</li>
</ul>
<p><strong>Layout 2: Image Block</strong></p>
<ul>
<li>Layout Name: image_block</li>
<li>Layout Label: Image Block</li>
<li>Sub-fields:
<ul>
<li>image (Image)</li>
<li>caption (Text)</li>
<li>size (Select: small/medium/large/full)</li>
</ul>
</li>
</ul>
<p><strong>Layout 3: Gallery</strong></p>
<ul>
<li>Layout Name: gallery</li>
<li>Layout Label: Gallery</li>
<li>Sub-fields:
<ul>
<li>images (Gallery)</li>
<li>columns (Number)</li>
</ul>
</li>
</ul>
<h2 id="basic-flexible-content-loop">Basic Flexible Content Loop</h2>
<p><strong>Display Layouts</strong>:</p>
<div class="sourceCode" id="cb1">
<pre class="sourceCode php"><code class="sourceCode php"><span id="cb1-1"><a href="#cb1-1" aria-hidden="true"></a><span class="kw">&lt;?php</span></span>
<span id="cb1-2"><a href="#cb1-2" aria-hidden="true"></a><span class="kw">if</span> <span class="ot">(</span>have_rows<span class="ot">(</span><span class="st">&#39;page_content&#39;</span><span class="ot">))</span> :</span>
<span id="cb1-3"><a href="#cb1-3" aria-hidden="true"></a></span>
<span id="cb1-4"><a href="#cb1-4" aria-hidden="true"></a>    <span class="kw">while</span> <span class="ot">(</span>have_rows<span class="ot">(</span><span class="st">&#39;page_content&#39;</span><span class="ot">))</span> : the_row<span class="ot">();</span></span>
<span id="cb1-5"><a href="#cb1-5" aria-hidden="true"></a></span>
<span id="cb1-6"><a href="#cb1-6" aria-hidden="true"></a>        <span class="kw">if</span> <span class="ot">(</span>get_row_layout<span class="ot">()</span> == <span class="st">&#39;text_block&#39;</span><span class="ot">)</span> :</span>
<span id="cb1-7"><a href="#cb1-7" aria-hidden="true"></a>            <span class="co">// Text Block Layout</span></span>
<span id="cb1-8"><a href="#cb1-8" aria-hidden="true"></a>            <span class="kw">$heading</span> = get_sub_field<span class="ot">(</span><span class="st">&#39;heading&#39;</span><span class="ot">);</span></span>
<span id="cb1-9"><a href="#cb1-9" aria-hidden="true"></a>            <span class="kw">$content</span> = get_sub_field<span class="ot">(</span><span class="st">&#39;content&#39;</span><span class="ot">);</span></span>
<span id="cb1-10"><a href="#cb1-10" aria-hidden="true"></a>            <span class="kw">$alignment</span> = get_sub_field<span class="ot">(</span><span class="st">&#39;alignment&#39;</span><span class="ot">);</span></span>
<span id="cb1-11"><a href="#cb1-11" aria-hidden="true"></a>            <span class="kw">?&gt;</span></span>
<span id="cb1-12"><a href="#cb1-12" aria-hidden="true"></a></span>
<span id="cb1-13"><a href="#cb1-13" aria-hidden="true"></a>            &lt;section <span class="kw">class</span>=<span class="st">&quot;content-block text-block text-&lt;?php echo esc_attr(</span><span class="kw">$alignment</span><span class="st">); ?&gt;&quot;</span>&gt;</span>
<span id="cb1-14"><a href="#cb1-14" aria-hidden="true"></a>                &lt;<span class="ot">?</span>php <span class="kw">if</span> <span class="ot">(</span><span class="kw">$heading</span><span class="ot">)</span> <span class="ot">:</span> <span class="kw">?&gt;</span></span>
<span id="cb1-15"><a href="#cb1-15" 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">$heading</span><span class="ot">);</span> <span class="kw">?&gt;</span>&lt;/h2&gt;</span>
<span id="cb1-16"><a href="#cb1-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="cb1-17"><a href="#cb1-17" aria-hidden="true"></a></span>
<span id="cb1-18"><a href="#cb1-18" aria-hidden="true"></a>                &lt;<span class="ot">?</span>php <span class="kw">if</span> <span class="ot">(</span><span class="kw">$content</span><span class="ot">)</span> <span class="ot">:</span> <span class="kw">?&gt;</span></span>
<span id="cb1-19"><a href="#cb1-19" aria-hidden="true"></a>                    &lt;div <span class="kw">class</span>=<span class="st">&quot;content&quot;</span>&gt;</span>
<span id="cb1-20"><a href="#cb1-20" aria-hidden="true"></a>                        &lt;<span class="ot">?</span>php <span class="kw">echo</span> wp_kses_post<span class="ot">(</span><span class="kw">$content</span><span class="ot">);</span> <span class="kw">?&gt;</span></span>
<span id="cb1-21"><a href="#cb1-21" aria-hidden="true"></a>                    &lt;/div&gt;</span>
<span id="cb1-22"><a href="#cb1-22" 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="cb1-23"><a href="#cb1-23" aria-hidden="true"></a>            &lt;/section&gt;</span>
<span id="cb1-24"><a href="#cb1-24" aria-hidden="true"></a></span>
<span id="cb1-25"><a href="#cb1-25" aria-hidden="true"></a>        &lt;<span class="ot">?</span>php <span class="kw">elseif</span> <span class="ot">(</span>get_row_layout<span class="ot">()</span> == <span class="st">&#39;image_block&#39;</span><span class="ot">)</span> <span class="ot">:</span></span>
<span id="cb1-26"><a href="#cb1-26" aria-hidden="true"></a>            <span class="co">// Image Block Layout</span></span>
<span id="cb1-27"><a href="#cb1-27" aria-hidden="true"></a>            <span class="kw">$image</span> = get_sub_field<span class="ot">(</span><span class="st">&#39;image&#39;</span><span class="ot">);</span></span>
<span id="cb1-28"><a href="#cb1-28" aria-hidden="true"></a>            <span class="kw">$caption</span> = get_sub_field<span class="ot">(</span><span class="st">&#39;caption&#39;</span><span class="ot">);</span></span>
<span id="cb1-29"><a href="#cb1-29" aria-hidden="true"></a>            <span class="kw">$size</span> = get_sub_field<span class="ot">(</span><span class="st">&#39;size&#39;</span><span class="ot">);</span></span>
<span id="cb1-30"><a href="#cb1-30" aria-hidden="true"></a>            <span class="kw">?&gt;</span></span>
<span id="cb1-31"><a href="#cb1-31" aria-hidden="true"></a></span>
<span id="cb1-32"><a href="#cb1-32" aria-hidden="true"></a>            &lt;section <span class="kw">class</span>=<span class="st">&quot;content-block image-block size-&lt;?php echo esc_attr(</span><span class="kw">$size</span><span class="st">); ?&gt;&quot;</span>&gt;</span>
<span id="cb1-33"><a href="#cb1-33" 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="cb1-34"><a href="#cb1-34" aria-hidden="true"></a>                    &lt;figure&gt;</span>
<span id="cb1-35"><a href="#cb1-35" 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;][</span><span class="kw">$size</span><span class="st">]); ?&gt;&quot;</span></span>
<span id="cb1-36"><a href="#cb1-36" 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="cb1-37"><a href="#cb1-37" 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="cb1-38"><a href="#cb1-38" aria-hidden="true"></a>                            &lt;figcaption&gt;&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>&lt;/figcaption&gt;</span>
<span id="cb1-39"><a href="#cb1-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>
<span id="cb1-40"><a href="#cb1-40" aria-hidden="true"></a>                    &lt;/figure&gt;</span>
<span id="cb1-41"><a href="#cb1-41" 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="cb1-42"><a href="#cb1-42" aria-hidden="true"></a>            &lt;/section&gt;</span>
<span id="cb1-43"><a href="#cb1-43" aria-hidden="true"></a></span>
<span id="cb1-44"><a href="#cb1-44" aria-hidden="true"></a>        &lt;<span class="ot">?</span>php <span class="kw">elseif</span> <span class="ot">(</span>get_row_layout<span class="ot">()</span> == <span class="st">&#39;gallery&#39;</span><span class="ot">)</span> <span class="ot">:</span></span>
<span id="cb1-45"><a href="#cb1-45" aria-hidden="true"></a>            <span class="co">// Gallery Layout</span></span>
<span id="cb1-46"><a href="#cb1-46" aria-hidden="true"></a>            <span class="kw">$images</span> = get_sub_field<span class="ot">(</span><span class="st">&#39;images&#39;</span><span class="ot">);</span></span>
<span id="cb1-47"><a href="#cb1-47" aria-hidden="true"></a>            <span class="kw">$columns</span> = get_sub_field<span class="ot">(</span><span class="st">&#39;columns&#39;</span><span class="ot">);</span></span>
<span id="cb1-48"><a href="#cb1-48" aria-hidden="true"></a>            <span class="kw">?&gt;</span></span>
<span id="cb1-49"><a href="#cb1-49" aria-hidden="true"></a></span>
<span id="cb1-50"><a href="#cb1-50" aria-hidden="true"></a>            &lt;section <span class="kw">class</span>=<span class="st">&quot;content-block gallery-block columns-&lt;?php echo esc_attr(</span><span class="kw">$columns</span><span class="st">); ?&gt;&quot;</span>&gt;</span>
<span id="cb1-51"><a href="#cb1-51" aria-hidden="true"></a>                &lt;<span class="ot">?</span>php <span class="kw">if</span> <span class="ot">(</span><span class="kw">$images</span><span class="ot">)</span> <span class="ot">:</span> <span class="kw">?&gt;</span></span>
<span id="cb1-52"><a href="#cb1-52" aria-hidden="true"></a>                    &lt;div <span class="kw">class</span>=<span class="st">&quot;gallery-grid&quot;</span>&gt;</span>
<span id="cb1-53"><a href="#cb1-53" aria-hidden="true"></a>                        &lt;<span class="ot">?</span>php <span class="kw">foreach</span> <span class="ot">(</span><span class="kw">$images</span> <span class="kw">as</span> <span class="kw">$image</span><span class="ot">)</span> <span class="ot">:</span> <span class="kw">?&gt;</span></span>
<span id="cb1-54"><a href="#cb1-54" aria-hidden="true"></a>                            &lt;div <span class="kw">class</span>=<span class="st">&quot;gallery-item&quot;</span>&gt;</span>
<span id="cb1-55"><a href="#cb1-55" 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;medium&#39;]); ?&gt;&quot;</span></span>
<span id="cb1-56"><a href="#cb1-56" 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="cb1-57"><a href="#cb1-57" aria-hidden="true"></a>                            &lt;/div&gt;</span>
<span id="cb1-58"><a href="#cb1-58" 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="cb1-59"><a href="#cb1-59" aria-hidden="true"></a>                    &lt;/div&gt;</span>
<span id="cb1-60"><a href="#cb1-60" 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="cb1-61"><a href="#cb1-61" aria-hidden="true"></a>            &lt;/section&gt;</span>
<span id="cb1-62"><a href="#cb1-62" aria-hidden="true"></a></span>
<span id="cb1-63"><a href="#cb1-63" aria-hidden="true"></a>        &lt;<span class="ot">?</span>php <span class="kw">endif</span><span class="ot">;</span></span>
<span id="cb1-64"><a href="#cb1-64" aria-hidden="true"></a></span>
<span id="cb1-65"><a href="#cb1-65" aria-hidden="true"></a>    <span class="kw">endwhile</span><span class="ot">;</span></span>
<span id="cb1-66"><a href="#cb1-66" aria-hidden="true"></a></span>
<span id="cb1-67"><a href="#cb1-67" aria-hidden="true"></a><span class="kw">endif</span><span class="ot">;</span></span>
<span id="cb1-68"><a href="#cb1-68" aria-hidden="true"></a><span class="kw">?&gt;</span></span></code></pre>
</div>
<h2 id="complete-page-builder-example">Complete Page Builder Example</h2>
<p><strong>Advanced Layout Types</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;page_content&#39;</span><span class="ot">))</span> :</span>
<span id="cb2-3"><a href="#cb2-3" aria-hidden="true"></a></span>
<span id="cb2-4"><a href="#cb2-4" aria-hidden="true"></a>    <span class="kw">while</span> <span class="ot">(</span>have_rows<span class="ot">(</span><span class="st">&#39;page_content&#39;</span><span class="ot">))</span> : the_row<span class="ot">();</span></span>
<span id="cb2-5"><a href="#cb2-5" aria-hidden="true"></a></span>
<span id="cb2-6"><a href="#cb2-6" aria-hidden="true"></a>        <span class="co">// Text Block</span></span>
<span id="cb2-7"><a href="#cb2-7" aria-hidden="true"></a>        <span class="kw">if</span> <span class="ot">(</span>get_row_layout<span class="ot">()</span> == <span class="st">&#39;text_block&#39;</span><span class="ot">)</span> :</span>
<span id="cb2-8"><a href="#cb2-8" aria-hidden="true"></a>            get_template_part<span class="ot">(</span><span class="st">&#39;template-parts/blocks/text-block&#39;</span><span class="ot">);</span></span>
<span id="cb2-9"><a href="#cb2-9" aria-hidden="true"></a></span>
<span id="cb2-10"><a href="#cb2-10" aria-hidden="true"></a>        <span class="co">// Hero Section</span></span>
<span id="cb2-11"><a href="#cb2-11" aria-hidden="true"></a>        <span class="kw">elseif</span> <span class="ot">(</span>get_row_layout<span class="ot">()</span> == <span class="st">&#39;hero&#39;</span><span class="ot">)</span> :</span>
<span id="cb2-12"><a href="#cb2-12" aria-hidden="true"></a>            <span class="kw">$title</span> = get_sub_field<span class="ot">(</span><span class="st">&#39;hero_title&#39;</span><span class="ot">);</span></span>
<span id="cb2-13"><a href="#cb2-13" aria-hidden="true"></a>            <span class="kw">$subtitle</span> = get_sub_field<span class="ot">(</span><span class="st">&#39;hero_subtitle&#39;</span><span class="ot">);</span></span>
<span id="cb2-14"><a href="#cb2-14" aria-hidden="true"></a>            <span class="kw">$background</span> = get_sub_field<span class="ot">(</span><span class="st">&#39;background_image&#39;</span><span class="ot">);</span></span>
<span id="cb2-15"><a href="#cb2-15" aria-hidden="true"></a>            <span class="kw">$button_text</span> = get_sub_field<span class="ot">(</span><span class="st">&#39;button_text&#39;</span><span class="ot">);</span></span>
<span id="cb2-16"><a href="#cb2-16" aria-hidden="true"></a>            <span class="kw">$button_link</span> = get_sub_field<span class="ot">(</span><span class="st">&#39;button_link&#39;</span><span class="ot">);</span></span>
<span id="cb2-17"><a href="#cb2-17" aria-hidden="true"></a>            <span class="kw">?&gt;</span></span>
<span id="cb2-18"><a href="#cb2-18" aria-hidden="true"></a></span>
<span id="cb2-19"><a href="#cb2-19" aria-hidden="true"></a>            &lt;section <span class="kw">class</span>=<span class="st">&quot;content-block hero-block&quot;</span></span>
<span id="cb2-20"><a href="#cb2-20" aria-hidden="true"></a>                     style=<span class="st">&quot;background-image: url(&lt;?php echo esc_url(</span><span class="kw">$background</span><span class="st">[&#39;url&#39;]); ?&gt;);&quot;</span>&gt;</span>
<span id="cb2-21"><a href="#cb2-21" aria-hidden="true"></a>                &lt;div <span class="kw">class</span>=<span class="st">&quot;hero-content&quot;</span>&gt;</span>
<span id="cb2-22"><a href="#cb2-22" aria-hidden="true"></a>                    &lt;<span class="ot">?</span>php <span class="kw">if</span> <span class="ot">(</span><span class="kw">$title</span><span class="ot">)</span> <span class="ot">:</span> <span class="kw">?&gt;</span></span>
<span id="cb2-23"><a href="#cb2-23" aria-hidden="true"></a>                        &lt;h1&gt;&lt;<span class="ot">?</span>php <span class="kw">echo</span> esc_html<span class="ot">(</span><span class="kw">$title</span><span class="ot">);</span> <span class="kw">?&gt;</span>&lt;/h1&gt;</span>
<span id="cb2-24"><a href="#cb2-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>
<span id="cb2-25"><a href="#cb2-25" aria-hidden="true"></a></span>
<span id="cb2-26"><a href="#cb2-26" aria-hidden="true"></a>                    &lt;<span class="ot">?</span>php <span class="kw">if</span> <span class="ot">(</span><span class="kw">$subtitle</span><span class="ot">)</span> <span class="ot">:</span> <span class="kw">?&gt;</span></span>
<span id="cb2-27"><a href="#cb2-27" aria-hidden="true"></a>                        &lt;p <span class="kw">class</span>=<span class="st">&quot;subtitle&quot;</span>&gt;&lt;<span class="ot">?</span>php <span class="kw">echo</span> esc_html<span class="ot">(</span><span class="kw">$subtitle</span><span class="ot">);</span> <span class="kw">?&gt;</span>&lt;/p&gt;</span>
<span id="cb2-28"><a href="#cb2-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="cb2-29"><a href="#cb2-29" aria-hidden="true"></a></span>
<span id="cb2-30"><a href="#cb2-30" aria-hidden="true"></a>                    &lt;<span class="ot">?</span>php <span class="kw">if</span> <span class="ot">(</span><span class="kw">$button_text</span> &amp;&amp; <span class="kw">$button_link</span><span class="ot">)</span> <span class="ot">:</span> <span class="kw">?&gt;</span></span>
<span id="cb2-31"><a href="#cb2-31" aria-hidden="true"></a>                        &lt;a href=<span class="st">&quot;&lt;?php echo esc_url(</span><span class="kw">$button_link</span><span class="st">); ?&gt;&quot;</span> <span class="kw">class</span>=<span class="st">&quot;btn btn-primary&quot;</span>&gt;</span>
<span id="cb2-32"><a href="#cb2-32" aria-hidden="true"></a>                            &lt;<span class="ot">?</span>php <span class="kw">echo</span> esc_html<span class="ot">(</span><span class="kw">$button_text</span><span class="ot">);</span> <span class="kw">?&gt;</span></span>
<span id="cb2-33"><a href="#cb2-33" aria-hidden="true"></a>                        &lt;/a&gt;</span>
<span id="cb2-34"><a href="#cb2-34" 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-35"><a href="#cb2-35" aria-hidden="true"></a>                &lt;/div&gt;</span>
<span id="cb2-36"><a href="#cb2-36" aria-hidden="true"></a>            &lt;/section&gt;</span>
<span id="cb2-37"><a href="#cb2-37" aria-hidden="true"></a></span>
<span id="cb2-38"><a href="#cb2-38" aria-hidden="true"></a>        <span class="co">// Two Column Layout</span></span>
<span id="cb2-39"><a href="#cb2-39" aria-hidden="true"></a>        <span class="kw">elseif</span> <span class="ot">(</span>get_row_layout<span class="ot">()</span> == <span class="st">&#39;two_columns&#39;</span><span class="ot">)</span> :</span>
<span id="cb2-40"><a href="#cb2-40" aria-hidden="true"></a>            <span class="kw">$left_content</span> = get_sub_field<span class="ot">(</span><span class="st">&#39;left_column&#39;</span><span class="ot">);</span></span>
<span id="cb2-41"><a href="#cb2-41" aria-hidden="true"></a>            <span class="kw">$right_content</span> = get_sub_field<span class="ot">(</span><span class="st">&#39;right_column&#39;</span><span class="ot">);</span></span>
<span id="cb2-42"><a href="#cb2-42" aria-hidden="true"></a>            <span class="kw">?&gt;</span></span>
<span id="cb2-43"><a href="#cb2-43" aria-hidden="true"></a></span>
<span id="cb2-44"><a href="#cb2-44" aria-hidden="true"></a>            &lt;section <span class="kw">class</span>=<span class="st">&quot;content-block two-columns&quot;</span>&gt;</span>
<span id="cb2-45"><a href="#cb2-45" aria-hidden="true"></a>                &lt;div <span class="kw">class</span>=<span class="st">&quot;row&quot;</span>&gt;</span>
<span id="cb2-46"><a href="#cb2-46" aria-hidden="true"></a>                    &lt;div <span class="kw">class</span>=<span class="st">&quot;col-left&quot;</span>&gt;</span>
<span id="cb2-47"><a href="#cb2-47" aria-hidden="true"></a>                        &lt;<span class="ot">?</span>php <span class="kw">echo</span> wp_kses_post<span class="ot">(</span><span class="kw">$left_content</span><span class="ot">);</span> <span class="kw">?&gt;</span></span>
<span id="cb2-48"><a href="#cb2-48" aria-hidden="true"></a>                    &lt;/div&gt;</span>
<span id="cb2-49"><a href="#cb2-49" aria-hidden="true"></a>                    &lt;div <span class="kw">class</span>=<span class="st">&quot;col-right&quot;</span>&gt;</span>
<span id="cb2-50"><a href="#cb2-50" aria-hidden="true"></a>                        &lt;<span class="ot">?</span>php <span class="kw">echo</span> wp_kses_post<span class="ot">(</span><span class="kw">$right_content</span><span class="ot">);</span> <span class="kw">?&gt;</span></span>
<span id="cb2-51"><a href="#cb2-51" aria-hidden="true"></a>                    &lt;/div&gt;</span>
<span id="cb2-52"><a href="#cb2-52" aria-hidden="true"></a>                &lt;/div&gt;</span>
<span id="cb2-53"><a href="#cb2-53" aria-hidden="true"></a>            &lt;/section&gt;</span>
<span id="cb2-54"><a href="#cb2-54" aria-hidden="true"></a></span>
<span id="cb2-55"><a href="#cb2-55" aria-hidden="true"></a>        <span class="co">// Testimonials</span></span>
<span id="cb2-56"><a href="#cb2-56" aria-hidden="true"></a>        <span class="kw">elseif</span> <span class="ot">(</span>get_row_layout<span class="ot">()</span> == <span class="st">&#39;testimonials&#39;</span><span class="ot">)</span> :</span>
<span id="cb2-57"><a href="#cb2-57" aria-hidden="true"></a>            <span class="kw">if</span> <span class="ot">(</span>have_rows<span class="ot">(</span><span class="st">&#39;testimonial_items&#39;</span><span class="ot">))</span> :</span>
<span id="cb2-58"><a href="#cb2-58" aria-hidden="true"></a>                <span class="kw">?&gt;</span></span>
<span id="cb2-59"><a href="#cb2-59" aria-hidden="true"></a>                &lt;section <span class="kw">class</span>=<span class="st">&quot;content-block testimonials-block&quot;</span>&gt;</span>
<span id="cb2-60"><a href="#cb2-60" aria-hidden="true"></a>                    &lt;div <span class="kw">class</span>=<span class="st">&quot;testimonials-grid&quot;</span>&gt;</span>
<span id="cb2-61"><a href="#cb2-61" 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;testimonial_items&#39;</span><span class="ot">))</span> <span class="ot">:</span> the_row<span class="ot">();</span></span>
<span id="cb2-62"><a href="#cb2-62" aria-hidden="true"></a>                            <span class="kw">$quote</span> = get_sub_field<span class="ot">(</span><span class="st">&#39;quote&#39;</span><span class="ot">);</span></span>
<span id="cb2-63"><a href="#cb2-63" aria-hidden="true"></a>                            <span class="kw">$author</span> = get_sub_field<span class="ot">(</span><span class="st">&#39;author&#39;</span><span class="ot">);</span></span>
<span id="cb2-64"><a href="#cb2-64" aria-hidden="true"></a>                            <span class="kw">$company</span> = get_sub_field<span class="ot">(</span><span class="st">&#39;company&#39;</span><span class="ot">);</span></span>
<span id="cb2-65"><a href="#cb2-65" 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-66"><a href="#cb2-66" aria-hidden="true"></a>                            <span class="kw">?&gt;</span></span>
<span id="cb2-67"><a href="#cb2-67" aria-hidden="true"></a></span>
<span id="cb2-68"><a href="#cb2-68" aria-hidden="true"></a>                            &lt;div <span class="kw">class</span>=<span class="st">&quot;testimonial&quot;</span>&gt;</span>
<span id="cb2-69"><a href="#cb2-69" aria-hidden="true"></a>                                &lt;blockquote&gt;</span>
<span id="cb2-70"><a href="#cb2-70" aria-hidden="true"></a>                                    &lt;<span class="ot">?</span>php <span class="kw">echo</span> esc_html<span class="ot">(</span><span class="kw">$quote</span><span class="ot">);</span> <span class="kw">?&gt;</span></span>
<span id="cb2-71"><a href="#cb2-71" aria-hidden="true"></a>                                &lt;/blockquote&gt;</span>
<span id="cb2-72"><a href="#cb2-72" aria-hidden="true"></a></span>
<span id="cb2-73"><a href="#cb2-73" aria-hidden="true"></a>                                &lt;div <span class="kw">class</span>=<span class="st">&quot;testimonial-author&quot;</span>&gt;</span>
<span id="cb2-74"><a href="#cb2-74" 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-75"><a href="#cb2-75" 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;thumbnail&#39;]); ?&gt;&quot;</span></span>
<span id="cb2-76"><a href="#cb2-76" aria-hidden="true"></a>                                             alt=<span class="st">&quot;&lt;?php echo esc_attr(</span><span class="kw">$author</span><span class="st">); ?&gt;&quot;</span> /&gt;</span>
<span id="cb2-77"><a href="#cb2-77" 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-78"><a href="#cb2-78" aria-hidden="true"></a></span>
<span id="cb2-79"><a href="#cb2-79" aria-hidden="true"></a>                                    &lt;div <span class="kw">class</span>=<span class="st">&quot;author-info&quot;</span>&gt;</span>
<span id="cb2-80"><a href="#cb2-80" aria-hidden="true"></a>                                        &lt;strong&gt;&lt;<span class="ot">?</span>php <span class="kw">echo</span> esc_html<span class="ot">(</span><span class="kw">$author</span><span class="ot">);</span> <span class="kw">?&gt;</span>&lt;/strong&gt;</span>
<span id="cb2-81"><a href="#cb2-81" aria-hidden="true"></a>                                        &lt;<span class="ot">?</span>php <span class="kw">if</span> <span class="ot">(</span><span class="kw">$company</span><span class="ot">)</span> <span class="ot">:</span> <span class="kw">?&gt;</span></span>
<span id="cb2-82"><a href="#cb2-82" aria-hidden="true"></a>                                            &lt;span&gt;&lt;<span class="ot">?</span>php <span class="kw">echo</span> esc_html<span class="ot">(</span><span class="kw">$company</span><span class="ot">);</span> <span class="kw">?&gt;</span>&lt;/span&gt;</span>
<span id="cb2-83"><a href="#cb2-83" 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-84"><a href="#cb2-84" aria-hidden="true"></a>                                    &lt;/div&gt;</span>
<span id="cb2-85"><a href="#cb2-85" aria-hidden="true"></a>                                &lt;/div&gt;</span>
<span id="cb2-86"><a href="#cb2-86" aria-hidden="true"></a>                            &lt;/div&gt;</span>
<span id="cb2-87"><a href="#cb2-87" aria-hidden="true"></a></span>
<span id="cb2-88"><a href="#cb2-88" 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-89"><a href="#cb2-89" aria-hidden="true"></a>                    &lt;/div&gt;</span>
<span id="cb2-90"><a href="#cb2-90" aria-hidden="true"></a>                &lt;/section&gt;</span>
<span id="cb2-91"><a href="#cb2-91" aria-hidden="true"></a>            &lt;<span class="ot">?</span>php <span class="kw">endif</span><span class="ot">;</span></span>
<span id="cb2-92"><a href="#cb2-92" aria-hidden="true"></a></span>
<span id="cb2-93"><a href="#cb2-93" aria-hidden="true"></a>        <span class="co">// Call to Action</span></span>
<span id="cb2-94"><a href="#cb2-94" aria-hidden="true"></a>        <span class="kw">elseif</span> <span class="ot">(</span>get_row_layout<span class="ot">()</span> == <span class="st">&#39;cta&#39;</span><span class="ot">)</span> <span class="ot">:</span></span>
<span id="cb2-95"><a href="#cb2-95" aria-hidden="true"></a>            <span class="kw">$heading</span> = get_sub_field<span class="ot">(</span><span class="st">&#39;cta_heading&#39;</span><span class="ot">);</span></span>
<span id="cb2-96"><a href="#cb2-96" aria-hidden="true"></a>            <span class="kw">$text</span> = get_sub_field<span class="ot">(</span><span class="st">&#39;cta_text&#39;</span><span class="ot">);</span></span>
<span id="cb2-97"><a href="#cb2-97" aria-hidden="true"></a>            <span class="kw">$button</span> = get_sub_field<span class="ot">(</span><span class="st">&#39;cta_button&#39;</span><span class="ot">);</span></span>
<span id="cb2-98"><a href="#cb2-98" aria-hidden="true"></a>            <span class="kw">$background_color</span> = get_sub_field<span class="ot">(</span><span class="st">&#39;background_color&#39;</span><span class="ot">);</span></span>
<span id="cb2-99"><a href="#cb2-99" aria-hidden="true"></a>            <span class="kw">?&gt;</span></span>
<span id="cb2-100"><a href="#cb2-100" aria-hidden="true"></a></span>
<span id="cb2-101"><a href="#cb2-101" aria-hidden="true"></a>            &lt;section <span class="kw">class</span>=<span class="st">&quot;content-block cta-block&quot;</span></span>
<span id="cb2-102"><a href="#cb2-102" aria-hidden="true"></a>                     style=<span class="st">&quot;background-color: &lt;?php echo esc_attr(</span><span class="kw">$background_color</span><span class="st">); ?&gt;;&quot;</span>&gt;</span>
<span id="cb2-103"><a href="#cb2-103" aria-hidden="true"></a>                &lt;div <span class="kw">class</span>=<span class="st">&quot;cta-content&quot;</span>&gt;</span>
<span id="cb2-104"><a href="#cb2-104" aria-hidden="true"></a>                    &lt;<span class="ot">?</span>php <span class="kw">if</span> <span class="ot">(</span><span class="kw">$heading</span><span class="ot">)</span> <span class="ot">:</span> <span class="kw">?&gt;</span></span>
<span id="cb2-105"><a href="#cb2-105" 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">$heading</span><span class="ot">);</span> <span class="kw">?&gt;</span>&lt;/h2&gt;</span>
<span id="cb2-106"><a href="#cb2-106" 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-107"><a href="#cb2-107" aria-hidden="true"></a></span>
<span id="cb2-108"><a href="#cb2-108" aria-hidden="true"></a>                    &lt;<span class="ot">?</span>php <span class="kw">if</span> <span class="ot">(</span><span class="kw">$text</span><span class="ot">)</span> <span class="ot">:</span> <span class="kw">?&gt;</span></span>
<span id="cb2-109"><a href="#cb2-109" 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">$text</span><span class="ot">);</span> <span class="kw">?&gt;</span>&lt;/p&gt;</span>
<span id="cb2-110"><a href="#cb2-110" 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-111"><a href="#cb2-111" aria-hidden="true"></a></span>
<span id="cb2-112"><a href="#cb2-112" aria-hidden="true"></a>                    &lt;<span class="ot">?</span>php <span class="kw">if</span> <span class="ot">(</span><span class="kw">$button</span><span class="ot">)</span> <span class="ot">:</span> <span class="kw">?&gt;</span></span>
<span id="cb2-113"><a href="#cb2-113" aria-hidden="true"></a>                        &lt;a href=<span class="st">&quot;&lt;?php echo esc_url(</span><span class="kw">$button</span><span class="st">[&#39;url&#39;]); ?&gt;&quot;</span> <span class="kw">class</span>=<span class="st">&quot;btn btn-large&quot;</span>&gt;</span>
<span id="cb2-114"><a href="#cb2-114" aria-hidden="true"></a>                            &lt;<span class="ot">?</span>php <span class="kw">echo</span> esc_html<span class="ot">(</span><span class="kw">$button</span><span class="ot">[</span><span class="st">&#39;title&#39;</span><span class="ot">]);</span> <span class="kw">?&gt;</span></span>
<span id="cb2-115"><a href="#cb2-115" aria-hidden="true"></a>                        &lt;/a&gt;</span>
<span id="cb2-116"><a href="#cb2-116" 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-117"><a href="#cb2-117" aria-hidden="true"></a>                &lt;/div&gt;</span>
<span id="cb2-118"><a href="#cb2-118" aria-hidden="true"></a>            &lt;/section&gt;</span>
<span id="cb2-119"><a href="#cb2-119" aria-hidden="true"></a></span>
<span id="cb2-120"><a href="#cb2-120" aria-hidden="true"></a>        &lt;<span class="ot">?</span>php <span class="kw">endif</span><span class="ot">;</span></span>
<span id="cb2-121"><a href="#cb2-121" aria-hidden="true"></a></span>
<span id="cb2-122"><a href="#cb2-122" aria-hidden="true"></a>    <span class="kw">endwhile</span><span class="ot">;</span></span>
<span id="cb2-123"><a href="#cb2-123" aria-hidden="true"></a></span>
<span id="cb2-124"><a href="#cb2-124" aria-hidden="true"></a><span class="kw">endif</span><span class="ot">;</span></span>
<span id="cb2-125"><a href="#cb2-125" aria-hidden="true"></a><span class="kw">?&gt;</span></span></code></pre>
</div>
<h2 id="using-template-parts">Using Template Parts</h2>
<p><strong>Organize Layouts in Separate Files</strong>:</p>
<p><strong>main-template.php</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="kw">&lt;?php</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;page_content&#39;</span><span class="ot">))</span> :</span>
<span id="cb3-3"><a href="#cb3-3" aria-hidden="true"></a>    <span class="kw">while</span> <span class="ot">(</span>have_rows<span class="ot">(</span><span class="st">&#39;page_content&#39;</span><span class="ot">))</span> : the_row<span class="ot">();</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 class="kw">$layout</span> = get_row_layout<span class="ot">();</span></span>
<span id="cb3-6"><a href="#cb3-6" aria-hidden="true"></a></span>
<span id="cb3-7"><a href="#cb3-7" aria-hidden="true"></a>        <span class="co">// Load template part based on layout name</span></span>
<span id="cb3-8"><a href="#cb3-8" aria-hidden="true"></a>        get_template_part<span class="ot">(</span><span class="st">&#39;template-parts/blocks/&#39;</span> . <span class="kw">$layout</span><span class="ot">);</span></span>
<span id="cb3-9"><a href="#cb3-9" aria-hidden="true"></a></span>
<span id="cb3-10"><a href="#cb3-10" aria-hidden="true"></a>    <span class="kw">endwhile</span><span class="ot">;</span></span>
<span id="cb3-11"><a href="#cb3-11" aria-hidden="true"></a><span class="kw">endif</span><span class="ot">;</span></span>
<span id="cb3-12"><a href="#cb3-12" aria-hidden="true"></a><span class="kw">?&gt;</span></span></code></pre>
</div>
<p><strong>template-parts/blocks/text_block.php</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">$heading</span> = get_sub_field<span class="ot">(</span><span class="st">&#39;heading&#39;</span><span class="ot">);</span></span>
<span id="cb4-3"><a href="#cb4-3" aria-hidden="true"></a><span class="kw">$content</span> = get_sub_field<span class="ot">(</span><span class="st">&#39;content&#39;</span><span class="ot">);</span></span>
<span id="cb4-4"><a href="#cb4-4" aria-hidden="true"></a><span class="kw">$alignment</span> = get_sub_field<span class="ot">(</span><span class="st">&#39;alignment&#39;</span><span class="ot">);</span></span>
<span id="cb4-5"><a href="#cb4-5" aria-hidden="true"></a><span class="kw">?&gt;</span></span>
<span id="cb4-6"><a href="#cb4-6" aria-hidden="true"></a></span>
<span id="cb4-7"><a href="#cb4-7" aria-hidden="true"></a>&lt;section <span class="kw">class</span>=<span class="st">&quot;content-block text-block text-&lt;?php echo esc_attr(</span><span class="kw">$alignment</span><span class="st">); ?&gt;&quot;</span>&gt;</span>
<span id="cb4-8"><a href="#cb4-8" aria-hidden="true"></a>    &lt;<span class="ot">?</span>php <span class="kw">if</span> <span class="ot">(</span><span class="kw">$heading</span><span class="ot">)</span> <span class="ot">:</span> <span class="kw">?&gt;</span></span>
<span id="cb4-9"><a href="#cb4-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">$heading</span><span class="ot">);</span> <span class="kw">?&gt;</span>&lt;/h2&gt;</span>
<span id="cb4-10"><a href="#cb4-10" 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="cb4-11"><a href="#cb4-11" aria-hidden="true"></a></span>
<span id="cb4-12"><a href="#cb4-12" aria-hidden="true"></a>    &lt;<span class="ot">?</span>php <span class="kw">if</span> <span class="ot">(</span><span class="kw">$content</span><span class="ot">)</span> <span class="ot">:</span> <span class="kw">?&gt;</span></span>
<span id="cb4-13"><a href="#cb4-13" aria-hidden="true"></a>        &lt;div <span class="kw">class</span>=<span class="st">&quot;content&quot;</span>&gt;</span>
<span id="cb4-14"><a href="#cb4-14" aria-hidden="true"></a>            &lt;<span class="ot">?</span>php <span class="kw">echo</span> wp_kses_post<span class="ot">(</span><span class="kw">$content</span><span class="ot">);</span> <span class="kw">?&gt;</span></span>
<span id="cb4-15"><a href="#cb4-15" aria-hidden="true"></a>        &lt;/div&gt;</span>
<span id="cb4-16"><a href="#cb4-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="cb4-17"><a href="#cb4-17" aria-hidden="true"></a>&lt;/section&gt;</span></code></pre>
</div>
<h2 id="programmatic-flexible-content-registration">Programmatic Flexible Content Registration</h2>
<p><strong>Register via PHP</strong>:</p>
<div class="sourceCode" id="cb5">
<pre class="sourceCode php"><code class="sourceCode php"><span id="cb5-1"><a href="#cb5-1" aria-hidden="true"></a><span class="kw">function</span> mytheme_register_flexible_content<span class="ot">()</span> {</span>
<span id="cb5-2"><a href="#cb5-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="cb5-3"><a href="#cb5-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="cb5-4"><a href="#cb5-4" aria-hidden="true"></a>            <span class="st">&#39;key&#39;</span>    =&gt; <span class="st">&#39;group_page_builder&#39;</span><span class="ot">,</span></span>
<span id="cb5-5"><a href="#cb5-5" aria-hidden="true"></a>            <span class="st">&#39;title&#39;</span>  =&gt; <span class="st">&#39;Page Builder&#39;</span><span class="ot">,</span></span>
<span id="cb5-6"><a href="#cb5-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="cb5-7"><a href="#cb5-7" aria-hidden="true"></a>                <span class="kw">array</span><span class="ot">(</span></span>
<span id="cb5-8"><a href="#cb5-8" aria-hidden="true"></a>                    <span class="st">&#39;key&#39;</span>    =&gt; <span class="st">&#39;field_page_content&#39;</span><span class="ot">,</span></span>
<span id="cb5-9"><a href="#cb5-9" aria-hidden="true"></a>                    <span class="st">&#39;label&#39;</span>  =&gt; <span class="st">&#39;Page Content&#39;</span><span class="ot">,</span></span>
<span id="cb5-10"><a href="#cb5-10" aria-hidden="true"></a>                    <span class="st">&#39;name&#39;</span>   =&gt; <span class="st">&#39;page_content&#39;</span><span class="ot">,</span></span>
<span id="cb5-11"><a href="#cb5-11" aria-hidden="true"></a>                    <span class="st">&#39;type&#39;</span>   =&gt; <span class="st">&#39;flexible_content&#39;</span><span class="ot">,</span></span>
<span id="cb5-12"><a href="#cb5-12" aria-hidden="true"></a>                    <span class="st">&#39;button_label&#39;</span> =&gt; <span class="st">&#39;Add Content Block&#39;</span><span class="ot">,</span></span>
<span id="cb5-13"><a href="#cb5-13" aria-hidden="true"></a>                    <span class="st">&#39;layouts&#39;</span> =&gt; <span class="kw">array</span><span class="ot">(</span></span>
<span id="cb5-14"><a href="#cb5-14" aria-hidden="true"></a>                        <span class="st">&#39;text_block&#39;</span> =&gt; <span class="kw">array</span><span class="ot">(</span></span>
<span id="cb5-15"><a href="#cb5-15" aria-hidden="true"></a>                            <span class="st">&#39;key&#39;</span>   =&gt; <span class="st">&#39;layout_text_block&#39;</span><span class="ot">,</span></span>
<span id="cb5-16"><a href="#cb5-16" aria-hidden="true"></a>                            <span class="st">&#39;name&#39;</span>  =&gt; <span class="st">&#39;text_block&#39;</span><span class="ot">,</span></span>
<span id="cb5-17"><a href="#cb5-17" aria-hidden="true"></a>                            <span class="st">&#39;label&#39;</span> =&gt; <span class="st">&#39;Text Block&#39;</span><span class="ot">,</span></span>
<span id="cb5-18"><a href="#cb5-18" aria-hidden="true"></a>                            <span class="st">&#39;display&#39;</span> =&gt; <span class="st">&#39;block&#39;</span><span class="ot">,</span></span>
<span id="cb5-19"><a href="#cb5-19" 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="cb5-20"><a href="#cb5-20" aria-hidden="true"></a>                                <span class="kw">array</span><span class="ot">(</span></span>
<span id="cb5-21"><a href="#cb5-21" aria-hidden="true"></a>                                    <span class="st">&#39;key&#39;</span>   =&gt; <span class="st">&#39;field_heading&#39;</span><span class="ot">,</span></span>
<span id="cb5-22"><a href="#cb5-22" aria-hidden="true"></a>                                    <span class="st">&#39;label&#39;</span> =&gt; <span class="st">&#39;Heading&#39;</span><span class="ot">,</span></span>
<span id="cb5-23"><a href="#cb5-23" aria-hidden="true"></a>                                    <span class="st">&#39;name&#39;</span>  =&gt; <span class="st">&#39;heading&#39;</span><span class="ot">,</span></span>
<span id="cb5-24"><a href="#cb5-24" 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="cb5-25"><a href="#cb5-25" aria-hidden="true"></a>                                <span class="ot">),</span></span>
<span id="cb5-26"><a href="#cb5-26" aria-hidden="true"></a>                                <span class="kw">array</span><span class="ot">(</span></span>
<span id="cb5-27"><a href="#cb5-27" aria-hidden="true"></a>                                    <span class="st">&#39;key&#39;</span>   =&gt; <span class="st">&#39;field_content&#39;</span><span class="ot">,</span></span>
<span id="cb5-28"><a href="#cb5-28" aria-hidden="true"></a>                                    <span class="st">&#39;label&#39;</span> =&gt; <span class="st">&#39;Content&#39;</span><span class="ot">,</span></span>
<span id="cb5-29"><a href="#cb5-29" aria-hidden="true"></a>                                    <span class="st">&#39;name&#39;</span>  =&gt; <span class="st">&#39;content&#39;</span><span class="ot">,</span></span>
<span id="cb5-30"><a href="#cb5-30" aria-hidden="true"></a>                                    <span class="st">&#39;type&#39;</span>  =&gt; <span class="st">&#39;wysiwyg&#39;</span><span class="ot">,</span></span>
<span id="cb5-31"><a href="#cb5-31" aria-hidden="true"></a>                                <span class="ot">),</span></span>
<span id="cb5-32"><a href="#cb5-32" aria-hidden="true"></a>                            <span class="ot">),</span></span>
<span id="cb5-33"><a href="#cb5-33" aria-hidden="true"></a>                        <span class="ot">),</span></span>
<span id="cb5-34"><a href="#cb5-34" aria-hidden="true"></a>                        <span class="st">&#39;image_block&#39;</span> =&gt; <span class="kw">array</span><span class="ot">(</span></span>
<span id="cb5-35"><a href="#cb5-35" aria-hidden="true"></a>                            <span class="st">&#39;key&#39;</span>   =&gt; <span class="st">&#39;layout_image_block&#39;</span><span class="ot">,</span></span>
<span id="cb5-36"><a href="#cb5-36" aria-hidden="true"></a>                            <span class="st">&#39;name&#39;</span>  =&gt; <span class="st">&#39;image_block&#39;</span><span class="ot">,</span></span>
<span id="cb5-37"><a href="#cb5-37" aria-hidden="true"></a>                            <span class="st">&#39;label&#39;</span> =&gt; <span class="st">&#39;Image Block&#39;</span><span class="ot">,</span></span>
<span id="cb5-38"><a href="#cb5-38" aria-hidden="true"></a>                            <span class="st">&#39;display&#39;</span> =&gt; <span class="st">&#39;block&#39;</span><span class="ot">,</span></span>
<span id="cb5-39"><a href="#cb5-39" 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="cb5-40"><a href="#cb5-40" aria-hidden="true"></a>                                <span class="kw">array</span><span class="ot">(</span></span>
<span id="cb5-41"><a href="#cb5-41" aria-hidden="true"></a>                                    <span class="st">&#39;key&#39;</span>   =&gt; <span class="st">&#39;field_image&#39;</span><span class="ot">,</span></span>
<span id="cb5-42"><a href="#cb5-42" aria-hidden="true"></a>                                    <span class="st">&#39;label&#39;</span> =&gt; <span class="st">&#39;Image&#39;</span><span class="ot">,</span></span>
<span id="cb5-43"><a href="#cb5-43" aria-hidden="true"></a>                                    <span class="st">&#39;name&#39;</span>  =&gt; <span class="st">&#39;image&#39;</span><span class="ot">,</span></span>
<span id="cb5-44"><a href="#cb5-44" 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="cb5-45"><a href="#cb5-45" 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="cb5-46"><a href="#cb5-46" aria-hidden="true"></a>                                <span class="ot">),</span></span>
<span id="cb5-47"><a href="#cb5-47" aria-hidden="true"></a>                                <span class="kw">array</span><span class="ot">(</span></span>
<span id="cb5-48"><a href="#cb5-48" aria-hidden="true"></a>                                    <span class="st">&#39;key&#39;</span>   =&gt; <span class="st">&#39;field_caption&#39;</span><span class="ot">,</span></span>
<span id="cb5-49"><a href="#cb5-49" aria-hidden="true"></a>                                    <span class="st">&#39;label&#39;</span> =&gt; <span class="st">&#39;Caption&#39;</span><span class="ot">,</span></span>
<span id="cb5-50"><a href="#cb5-50" aria-hidden="true"></a>                                    <span class="st">&#39;name&#39;</span>  =&gt; <span class="st">&#39;caption&#39;</span><span class="ot">,</span></span>
<span id="cb5-51"><a href="#cb5-51" 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="cb5-52"><a href="#cb5-52" aria-hidden="true"></a>                                <span class="ot">),</span></span>
<span id="cb5-53"><a href="#cb5-53" aria-hidden="true"></a>                            <span class="ot">),</span></span>
<span id="cb5-54"><a href="#cb5-54" aria-hidden="true"></a>                        <span class="ot">),</span></span>
<span id="cb5-55"><a href="#cb5-55" aria-hidden="true"></a>                    <span class="ot">),</span></span>
<span id="cb5-56"><a href="#cb5-56" aria-hidden="true"></a>                <span class="ot">),</span></span>
<span id="cb5-57"><a href="#cb5-57" aria-hidden="true"></a>            <span class="ot">),</span></span>
<span id="cb5-58"><a href="#cb5-58" aria-hidden="true"></a>            <span class="st">&#39;location&#39;</span> =&gt; <span class="kw">array</span><span class="ot">(</span></span>
<span id="cb5-59"><a href="#cb5-59" aria-hidden="true"></a>                <span class="kw">array</span><span class="ot">(</span></span>
<span id="cb5-60"><a href="#cb5-60" aria-hidden="true"></a>                    <span class="kw">array</span><span class="ot">(</span></span>
<span id="cb5-61"><a href="#cb5-61" 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="cb5-62"><a href="#cb5-62" 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="cb5-63"><a href="#cb5-63" 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="cb5-64"><a href="#cb5-64" aria-hidden="true"></a>                    <span class="ot">),</span></span>
<span id="cb5-65"><a href="#cb5-65" aria-hidden="true"></a>                <span class="ot">),</span></span>
<span id="cb5-66"><a href="#cb5-66" aria-hidden="true"></a>            <span class="ot">),</span></span>
<span id="cb5-67"><a href="#cb5-67" aria-hidden="true"></a>        <span class="ot">));</span></span>
<span id="cb5-68"><a href="#cb5-68" aria-hidden="true"></a>    }</span>
<span id="cb5-69"><a href="#cb5-69" aria-hidden="true"></a>}</span>
<span id="cb5-70"><a href="#cb5-70" 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_flexible_content&#39;</span><span class="ot">);</span></span></code></pre>
</div>
<h2 id="conditional-layout-display">Conditional Layout Display</h2>
<p><strong>Show Layouts Based on Conditions</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="kw">$layout_index</span> = <span class="dv">0</span><span class="ot">;</span></span>
<span id="cb6-3"><a href="#cb6-3" aria-hidden="true"></a></span>
<span id="cb6-4"><a href="#cb6-4" aria-hidden="true"></a><span class="kw">if</span> <span class="ot">(</span>have_rows<span class="ot">(</span><span class="st">&#39;page_content&#39;</span><span class="ot">))</span> :</span>
<span id="cb6-5"><a href="#cb6-5" aria-hidden="true"></a>    <span class="kw">while</span> <span class="ot">(</span>have_rows<span class="ot">(</span><span class="st">&#39;page_content&#39;</span><span class="ot">))</span> : the_row<span class="ot">();</span></span>
<span id="cb6-6"><a href="#cb6-6" aria-hidden="true"></a>        <span class="kw">$layout_index</span>++<span class="ot">;</span></span>
<span id="cb6-7"><a href="#cb6-7" aria-hidden="true"></a>        <span class="kw">$layout</span> = get_row_layout<span class="ot">();</span></span>
<span id="cb6-8"><a href="#cb6-8" aria-hidden="true"></a></span>
<span id="cb6-9"><a href="#cb6-9" aria-hidden="true"></a>        <span class="co">// Add special class to first layout</span></span>
<span id="cb6-10"><a href="#cb6-10" aria-hidden="true"></a>        <span class="kw">$first_class</span> = <span class="ot">(</span><span class="kw">$layout_index</span> === <span class="dv">1</span><span class="ot">)</span> <span class="ot">?</span> <span class="st">&#39;first-block&#39;</span> <span class="ot">:</span> <span class="st">&#39;&#39;</span><span class="ot">;</span></span>
<span id="cb6-11"><a href="#cb6-11" aria-hidden="true"></a></span>
<span id="cb6-12"><a href="#cb6-12" aria-hidden="true"></a>        <span class="co">// Add container to specific layouts only</span></span>
<span id="cb6-13"><a href="#cb6-13" aria-hidden="true"></a>        <span class="kw">$needs_container</span> = <span class="fu">in_array</span><span class="ot">(</span><span class="kw">$layout</span><span class="ot">,</span> <span class="kw">array</span><span class="ot">(</span><span class="st">&#39;text_block&#39;</span><span class="ot">,</span> <span class="st">&#39;cta&#39;</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></span>
<span id="cb6-16"><a href="#cb6-16" aria-hidden="true"></a>        &lt;section <span class="kw">class</span>=<span class="st">&quot;content-block &lt;?php echo esc_attr(</span><span class="kw">$layout</span><span class="st">); ?&gt; &lt;?php echo esc_attr(</span><span class="kw">$first_class</span><span class="st">); ?&gt;&quot;</span>&gt;</span>
<span id="cb6-17"><a href="#cb6-17" aria-hidden="true"></a>            &lt;<span class="ot">?</span>php <span class="kw">if</span> <span class="ot">(</span><span class="kw">$needs_container</span><span class="ot">)</span> <span class="ot">:</span> <span class="kw">?&gt;</span></span>
<span id="cb6-18"><a href="#cb6-18" aria-hidden="true"></a>                &lt;div <span class="kw">class</span>=<span class="st">&quot;container&quot;</span>&gt;</span>
<span id="cb6-19"><a href="#cb6-19" 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-20"><a href="#cb6-20" aria-hidden="true"></a></span>
<span id="cb6-21"><a href="#cb6-21" aria-hidden="true"></a>            &lt;<span class="ot">?</span>php</span>
<span id="cb6-22"><a href="#cb6-22" aria-hidden="true"></a>            <span class="co">// Display layout content</span></span>
<span id="cb6-23"><a href="#cb6-23" aria-hidden="true"></a>            get_template_part<span class="ot">(</span><span class="st">&#39;template-parts/blocks/&#39;</span> . <span class="kw">$layout</span><span class="ot">);</span></span>
<span id="cb6-24"><a href="#cb6-24" aria-hidden="true"></a>            <span class="kw">?&gt;</span></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">if</span> <span class="ot">(</span><span class="kw">$needs_container</span><span class="ot">)</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;/section&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="nested-flexible-content">Nested Flexible Content</h2>
<p><strong>Flexible Content Within Flexible Content</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;page_content&#39;</span><span class="ot">))</span> :</span>
<span id="cb7-3"><a href="#cb7-3" aria-hidden="true"></a>    <span class="kw">while</span> <span class="ot">(</span>have_rows<span class="ot">(</span><span class="st">&#39;page_content&#39;</span><span class="ot">))</span> : the_row<span class="ot">();</span></span>
<span id="cb7-4"><a href="#cb7-4" aria-hidden="true"></a></span>
<span id="cb7-5"><a href="#cb7-5" aria-hidden="true"></a>        <span class="kw">if</span> <span class="ot">(</span>get_row_layout<span class="ot">()</span> == <span class="st">&#39;section_with_blocks&#39;</span><span class="ot">)</span> :</span>
<span id="cb7-6"><a href="#cb7-6" aria-hidden="true"></a>            <span class="kw">$section_title</span> = get_sub_field<span class="ot">(</span><span class="st">&#39;section_title&#39;</span><span class="ot">);</span></span>
<span id="cb7-7"><a href="#cb7-7" aria-hidden="true"></a>            <span class="kw">?&gt;</span></span>
<span id="cb7-8"><a href="#cb7-8" aria-hidden="true"></a></span>
<span id="cb7-9"><a href="#cb7-9" aria-hidden="true"></a>            &lt;section <span class="kw">class</span>=<span class="st">&quot;multi-block-section&quot;</span>&gt;</span>
<span id="cb7-10"><a href="#cb7-10" 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">$section_title</span><span class="ot">);</span> <span class="kw">?&gt;</span>&lt;/h2&gt;</span>
<span id="cb7-11"><a href="#cb7-11" aria-hidden="true"></a></span>
<span id="cb7-12"><a href="#cb7-12" aria-hidden="true"></a>                &lt;<span class="ot">?</span>php</span>
<span id="cb7-13"><a href="#cb7-13" aria-hidden="true"></a>                <span class="co">// Nested flexible content</span></span>
<span id="cb7-14"><a href="#cb7-14" aria-hidden="true"></a>                <span class="kw">if</span> <span class="ot">(</span>have_rows<span class="ot">(</span><span class="st">&#39;section_blocks&#39;</span><span class="ot">))</span> <span class="ot">:</span></span>
<span id="cb7-15"><a href="#cb7-15" aria-hidden="true"></a>                    <span class="kw">while</span> <span class="ot">(</span>have_rows<span class="ot">(</span><span class="st">&#39;section_blocks&#39;</span><span class="ot">))</span> : the_row<span class="ot">();</span></span>
<span id="cb7-16"><a href="#cb7-16" aria-hidden="true"></a></span>
<span id="cb7-17"><a href="#cb7-17" aria-hidden="true"></a>                        <span class="kw">if</span> <span class="ot">(</span>get_row_layout<span class="ot">()</span> == <span class="st">&#39;feature&#39;</span><span class="ot">)</span> :</span>
<span id="cb7-18"><a href="#cb7-18" aria-hidden="true"></a>                            <span class="kw">$feature_icon</span> = get_sub_field<span class="ot">(</span><span class="st">&#39;icon&#39;</span><span class="ot">);</span></span>
<span id="cb7-19"><a href="#cb7-19" aria-hidden="true"></a>                            <span class="kw">$feature_title</span> = get_sub_field<span class="ot">(</span><span class="st">&#39;title&#39;</span><span class="ot">);</span></span>
<span id="cb7-20"><a href="#cb7-20" aria-hidden="true"></a>                            <span class="kw">$feature_text</span> = get_sub_field<span class="ot">(</span><span class="st">&#39;text&#39;</span><span class="ot">);</span></span>
<span id="cb7-21"><a href="#cb7-21" aria-hidden="true"></a>                            <span class="kw">?&gt;</span></span>
<span id="cb7-22"><a href="#cb7-22" aria-hidden="true"></a></span>
<span id="cb7-23"><a href="#cb7-23" aria-hidden="true"></a>                            &lt;div <span class="kw">class</span>=<span class="st">&quot;feature&quot;</span>&gt;</span>
<span id="cb7-24"><a href="#cb7-24" aria-hidden="true"></a>                                &lt;<span class="ot">?</span>php <span class="kw">if</span> <span class="ot">(</span><span class="kw">$feature_icon</span><span class="ot">)</span> <span class="ot">:</span> <span class="kw">?&gt;</span></span>
<span id="cb7-25"><a href="#cb7-25" aria-hidden="true"></a>                                    &lt;img src=<span class="st">&quot;&lt;?php echo esc_url(</span><span class="kw">$feature_icon</span><span class="st">[&#39;url&#39;]); ?&gt;&quot;</span> alt=<span class="st">&quot;&quot;</span> /&gt;</span>
<span id="cb7-26"><a href="#cb7-26" 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-27"><a href="#cb7-27" 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_title</span><span class="ot">);</span> <span class="kw">?&gt;</span>&lt;/h3&gt;</span>
<span id="cb7-28"><a href="#cb7-28" 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_text</span><span class="ot">);</span> <span class="kw">?&gt;</span>&lt;/p&gt;</span>
<span id="cb7-29"><a href="#cb7-29" aria-hidden="true"></a>                            &lt;/div&gt;</span>
<span id="cb7-30"><a href="#cb7-30" aria-hidden="true"></a></span>
<span id="cb7-31"><a href="#cb7-31" aria-hidden="true"></a>                        &lt;<span class="ot">?</span>php <span class="kw">endif</span><span class="ot">;</span></span>
<span id="cb7-32"><a href="#cb7-32" aria-hidden="true"></a></span>
<span id="cb7-33"><a href="#cb7-33" aria-hidden="true"></a>                    <span class="kw">endwhile</span><span class="ot">;</span></span>
<span id="cb7-34"><a href="#cb7-34" aria-hidden="true"></a>                <span class="kw">endif</span><span class="ot">;</span></span>
<span id="cb7-35"><a href="#cb7-35" aria-hidden="true"></a>                <span class="kw">?&gt;</span></span>
<span id="cb7-36"><a href="#cb7-36" aria-hidden="true"></a>            &lt;/section&gt;</span>
<span id="cb7-37"><a href="#cb7-37" aria-hidden="true"></a></span>
<span id="cb7-38"><a href="#cb7-38" aria-hidden="true"></a>        &lt;<span class="ot">?</span>php <span class="kw">endif</span><span class="ot">;</span></span>
<span id="cb7-39"><a href="#cb7-39" aria-hidden="true"></a></span>
<span id="cb7-40"><a href="#cb7-40" aria-hidden="true"></a>    <span class="kw">endwhile</span><span class="ot">;</span></span>
<span id="cb7-41"><a href="#cb7-41" aria-hidden="true"></a><span class="kw">endif</span><span class="ot">;</span></span>
<span id="cb7-42"><a href="#cb7-42" aria-hidden="true"></a><span class="kw">?&gt;</span></span></code></pre>
</div>
<h2 id="dynamic-classes-and-styling">Dynamic Classes and Styling</h2>
<p><strong>Add Custom Classes from Fields</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">&lt;?php</span></span>
<span id="cb8-2"><a href="#cb8-2" aria-hidden="true"></a><span class="kw">if</span> <span class="ot">(</span>have_rows<span class="ot">(</span><span class="st">&#39;page_content&#39;</span><span class="ot">))</span> :</span>
<span id="cb8-3"><a href="#cb8-3" aria-hidden="true"></a>    <span class="kw">while</span> <span class="ot">(</span>have_rows<span class="ot">(</span><span class="st">&#39;page_content&#39;</span><span class="ot">))</span> : the_row<span class="ot">();</span></span>
<span id="cb8-4"><a href="#cb8-4" aria-hidden="true"></a></span>
<span id="cb8-5"><a href="#cb8-5" aria-hidden="true"></a>        <span class="kw">$layout</span> = get_row_layout<span class="ot">();</span></span>
<span id="cb8-6"><a href="#cb8-6" aria-hidden="true"></a>        <span class="kw">$custom_class</span> = get_sub_field<span class="ot">(</span><span class="st">&#39;custom_css_class&#39;</span><span class="ot">);</span></span>
<span id="cb8-7"><a href="#cb8-7" aria-hidden="true"></a>        <span class="kw">$background_color</span> = get_sub_field<span class="ot">(</span><span class="st">&#39;background_color&#39;</span><span class="ot">);</span></span>
<span id="cb8-8"><a href="#cb8-8" aria-hidden="true"></a>        <span class="kw">$padding</span> = get_sub_field<span class="ot">(</span><span class="st">&#39;padding_size&#39;</span><span class="ot">);</span></span>
<span id="cb8-9"><a href="#cb8-9" aria-hidden="true"></a></span>
<span id="cb8-10"><a href="#cb8-10" aria-hidden="true"></a>        <span class="kw">$classes</span> = <span class="kw">array</span><span class="ot">(</span></span>
<span id="cb8-11"><a href="#cb8-11" aria-hidden="true"></a>            <span class="st">&#39;content-block&#39;</span><span class="ot">,</span></span>
<span id="cb8-12"><a href="#cb8-12" aria-hidden="true"></a>            <span class="kw">$layout</span><span class="ot">,</span></span>
<span id="cb8-13"><a href="#cb8-13" aria-hidden="true"></a>            <span class="kw">$custom_class</span><span class="ot">,</span></span>
<span id="cb8-14"><a href="#cb8-14" aria-hidden="true"></a>            <span class="st">&#39;padding-&#39;</span> . <span class="kw">$padding</span><span class="ot">,</span></span>
<span id="cb8-15"><a href="#cb8-15" aria-hidden="true"></a>        <span class="ot">);</span></span>
<span id="cb8-16"><a href="#cb8-16" aria-hidden="true"></a></span>
<span id="cb8-17"><a href="#cb8-17" aria-hidden="true"></a>        <span class="kw">$style</span> = <span class="kw">$background_color</span> <span class="ot">?</span> <span class="st">&#39;background-color: &#39;</span> . esc_attr<span class="ot">(</span><span class="kw">$background_color</span><span class="ot">)</span> <span class="ot">:</span> <span class="st">&#39;&#39;</span><span class="ot">;</span></span>
<span id="cb8-18"><a href="#cb8-18" aria-hidden="true"></a>        <span class="kw">?&gt;</span></span>
<span id="cb8-19"><a href="#cb8-19" aria-hidden="true"></a></span>
<span id="cb8-20"><a href="#cb8-20" aria-hidden="true"></a>        &lt;section <span class="kw">class</span>=<span class="st">&quot;&lt;?php echo esc_attr(implode(&#39; &#39;, array_filter(</span><span class="kw">$classes</span><span class="st">))); ?&gt;&quot;</span></span>
<span id="cb8-21"><a href="#cb8-21" aria-hidden="true"></a>                 &lt;<span class="ot">?</span>php <span class="kw">if</span> <span class="ot">(</span><span class="kw">$style</span><span class="ot">)</span> <span class="ot">:</span> <span class="kw">?&gt;</span>style=<span class="st">&quot;&lt;?php echo </span><span class="kw">$style</span><span class="st">; ?&gt;&quot;</span>&lt;<span class="ot">?</span>php <span class="kw">endif</span><span class="ot">;</span> <span class="kw">?&gt;</span>&gt;</span>
<span id="cb8-22"><a href="#cb8-22" aria-hidden="true"></a>            &lt;<span class="ot">?</span>php get_template_part<span class="ot">(</span><span class="st">&#39;template-parts/blocks/&#39;</span> . <span class="kw">$layout</span><span class="ot">);</span> <span class="kw">?&gt;</span></span>
<span id="cb8-23"><a href="#cb8-23" aria-hidden="true"></a>        &lt;/section&gt;</span>
<span id="cb8-24"><a href="#cb8-24" aria-hidden="true"></a></span>
<span id="cb8-25"><a href="#cb8-25" aria-hidden="true"></a>    &lt;<span class="ot">?</span>php <span class="kw">endwhile</span><span class="ot">;</span></span>
<span id="cb8-26"><a href="#cb8-26" aria-hidden="true"></a><span class="kw">endif</span><span class="ot">;</span></span>
<span id="cb8-27"><a href="#cb8-27" aria-hidden="true"></a><span class="kw">?&gt;</span></span></code></pre>
</div>
<h2 id="layout-clone-field">Layout Clone Field</h2>
<p><strong>Reuse Layout Configurations</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="co">// Create base layout configuration</span></span>
<span id="cb9-2"><a href="#cb9-2" 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="cb9-3"><a href="#cb9-3" aria-hidden="true"></a>    <span class="st">&#39;key&#39;</span> =&gt; <span class="st">&#39;group_block_settings&#39;</span><span class="ot">,</span></span>
<span id="cb9-4"><a href="#cb9-4" aria-hidden="true"></a>    <span class="st">&#39;title&#39;</span> =&gt; <span class="st">&#39;Block Settings&#39;</span><span class="ot">,</span></span>
<span id="cb9-5"><a href="#cb9-5" aria-hidden="true"></a>    <span class="st">&#39;fields&#39;</span> =&gt; <span class="kw">array</span><span class="ot">(</span></span>
<span id="cb9-6"><a href="#cb9-6" aria-hidden="true"></a>        <span class="kw">array</span><span class="ot">(</span></span>
<span id="cb9-7"><a href="#cb9-7" aria-hidden="true"></a>            <span class="st">&#39;key&#39;</span> =&gt; <span class="st">&#39;field_block_settings&#39;</span><span class="ot">,</span></span>
<span id="cb9-8"><a href="#cb9-8" aria-hidden="true"></a>            <span class="st">&#39;label&#39;</span> =&gt; <span class="st">&#39;Block Settings&#39;</span><span class="ot">,</span></span>
<span id="cb9-9"><a href="#cb9-9" aria-hidden="true"></a>            <span class="st">&#39;name&#39;</span> =&gt; <span class="st">&#39;block_settings&#39;</span><span class="ot">,</span></span>
<span id="cb9-10"><a href="#cb9-10" aria-hidden="true"></a>            <span class="st">&#39;type&#39;</span> =&gt; <span class="st">&#39;group&#39;</span><span class="ot">,</span></span>
<span id="cb9-11"><a href="#cb9-11" 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="cb9-12"><a href="#cb9-12" aria-hidden="true"></a>                <span class="kw">array</span><span class="ot">(</span></span>
<span id="cb9-13"><a href="#cb9-13" aria-hidden="true"></a>                    <span class="st">&#39;key&#39;</span> =&gt; <span class="st">&#39;field_margin&#39;</span><span class="ot">,</span></span>
<span id="cb9-14"><a href="#cb9-14" aria-hidden="true"></a>                    <span class="st">&#39;label&#39;</span> =&gt; <span class="st">&#39;Margin&#39;</span><span class="ot">,</span></span>
<span id="cb9-15"><a href="#cb9-15" aria-hidden="true"></a>                    <span class="st">&#39;name&#39;</span> =&gt; <span class="st">&#39;margin&#39;</span><span class="ot">,</span></span>
<span id="cb9-16"><a href="#cb9-16" aria-hidden="true"></a>                    <span class="st">&#39;type&#39;</span> =&gt; <span class="st">&#39;select&#39;</span><span class="ot">,</span></span>
<span id="cb9-17"><a href="#cb9-17" aria-hidden="true"></a>                    <span class="st">&#39;choices&#39;</span> =&gt; <span class="kw">array</span><span class="ot">(</span></span>
<span id="cb9-18"><a href="#cb9-18" aria-hidden="true"></a>                        <span class="st">&#39;none&#39;</span> =&gt; <span class="st">&#39;None&#39;</span><span class="ot">,</span></span>
<span id="cb9-19"><a href="#cb9-19" aria-hidden="true"></a>                        <span class="st">&#39;small&#39;</span> =&gt; <span class="st">&#39;Small&#39;</span><span class="ot">,</span></span>
<span id="cb9-20"><a href="#cb9-20" aria-hidden="true"></a>                        <span class="st">&#39;medium&#39;</span> =&gt; <span class="st">&#39;Medium&#39;</span><span class="ot">,</span></span>
<span id="cb9-21"><a href="#cb9-21" aria-hidden="true"></a>                        <span class="st">&#39;large&#39;</span> =&gt; <span class="st">&#39;Large&#39;</span><span class="ot">,</span></span>
<span id="cb9-22"><a href="#cb9-22" aria-hidden="true"></a>                    <span class="ot">),</span></span>
<span id="cb9-23"><a href="#cb9-23" aria-hidden="true"></a>                <span class="ot">),</span></span>
<span id="cb9-24"><a href="#cb9-24" aria-hidden="true"></a>                <span class="kw">array</span><span class="ot">(</span></span>
<span id="cb9-25"><a href="#cb9-25" aria-hidden="true"></a>                    <span class="st">&#39;key&#39;</span> =&gt; <span class="st">&#39;field_animation&#39;</span><span class="ot">,</span></span>
<span id="cb9-26"><a href="#cb9-26" aria-hidden="true"></a>                    <span class="st">&#39;label&#39;</span> =&gt; <span class="st">&#39;Animation&#39;</span><span class="ot">,</span></span>
<span id="cb9-27"><a href="#cb9-27" aria-hidden="true"></a>                    <span class="st">&#39;name&#39;</span> =&gt; <span class="st">&#39;animation&#39;</span><span class="ot">,</span></span>
<span id="cb9-28"><a href="#cb9-28" aria-hidden="true"></a>                    <span class="st">&#39;type&#39;</span> =&gt; <span class="st">&#39;select&#39;</span><span class="ot">,</span></span>
<span id="cb9-29"><a href="#cb9-29" aria-hidden="true"></a>                    <span class="st">&#39;choices&#39;</span> =&gt; <span class="kw">array</span><span class="ot">(</span></span>
<span id="cb9-30"><a href="#cb9-30" aria-hidden="true"></a>                        <span class="st">&#39;none&#39;</span> =&gt; <span class="st">&#39;None&#39;</span><span class="ot">,</span></span>
<span id="cb9-31"><a href="#cb9-31" aria-hidden="true"></a>                        <span class="st">&#39;fade-in&#39;</span> =&gt; <span class="st">&#39;Fade In&#39;</span><span class="ot">,</span></span>
<span id="cb9-32"><a href="#cb9-32" aria-hidden="true"></a>                        <span class="st">&#39;slide-up&#39;</span> =&gt; <span class="st">&#39;Slide Up&#39;</span><span class="ot">,</span></span>
<span id="cb9-33"><a href="#cb9-33" aria-hidden="true"></a>                    <span class="ot">),</span></span>
<span id="cb9-34"><a href="#cb9-34" aria-hidden="true"></a>                <span class="ot">),</span></span>
<span id="cb9-35"><a href="#cb9-35" aria-hidden="true"></a>            <span class="ot">),</span></span>
<span id="cb9-36"><a href="#cb9-36" aria-hidden="true"></a>        <span class="ot">),</span></span>
<span id="cb9-37"><a href="#cb9-37" aria-hidden="true"></a>    <span class="ot">),</span></span>
<span id="cb9-38"><a href="#cb9-38" aria-hidden="true"></a><span class="ot">));</span></span>
<span id="cb9-39"><a href="#cb9-39" aria-hidden="true"></a></span>
<span id="cb9-40"><a href="#cb9-40" aria-hidden="true"></a><span class="co">// Clone in flexible content layouts</span></span>
<span id="cb9-41"><a href="#cb9-41" aria-hidden="true"></a><span class="kw">array</span><span class="ot">(</span></span>
<span id="cb9-42"><a href="#cb9-42" aria-hidden="true"></a>    <span class="st">&#39;key&#39;</span> =&gt; <span class="st">&#39;field_settings_clone&#39;</span><span class="ot">,</span></span>
<span id="cb9-43"><a href="#cb9-43" aria-hidden="true"></a>    <span class="st">&#39;label&#39;</span> =&gt; <span class="st">&#39;Settings&#39;</span><span class="ot">,</span></span>
<span id="cb9-44"><a href="#cb9-44" aria-hidden="true"></a>    <span class="st">&#39;name&#39;</span> =&gt; <span class="st">&#39;settings&#39;</span><span class="ot">,</span></span>
<span id="cb9-45"><a href="#cb9-45" aria-hidden="true"></a>    <span class="st">&#39;type&#39;</span> =&gt; <span class="st">&#39;clone&#39;</span><span class="ot">,</span></span>
<span id="cb9-46"><a href="#cb9-46" aria-hidden="true"></a>    <span class="st">&#39;clone&#39;</span> =&gt; <span class="kw">array</span><span class="ot">(</span><span class="st">&#39;field_block_settings&#39;</span><span class="ot">),</span></span>
<span id="cb9-47"><a href="#cb9-47" aria-hidden="true"></a><span class="ot">)</span></span></code></pre>
</div>
<h2 id="best-practices">Best Practices</h2>
<p><strong>Organize Layout Files</strong>:</p>
<pre><code>theme/
├── template-parts/
│   └── blocks/
│       ├── text_block.php
│       ├── image_block.php
│       ├── gallery.php
│       ├── hero.php
│       ├── testimonials.php
│       └── cta.php</code></pre>
<p><strong>Use Consistent Naming</strong>:</p>
<ul>
<li>Layout names: snake_case (text_block, image_block)</li>
<li>Layout labels: Title Case (Text Block, Image Block)</li>
<li>CSS classes: kebab-case (text-block, image-block)</li>
</ul>
<p><strong>Escape Output</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 class="kw">echo</span> esc_html<span class="ot">(</span><span class="kw">$text</span><span class="ot">);</span> <span class="kw">?&gt;</span></span>
<span id="cb11-2"><a href="#cb11-2" aria-hidden="true"></a><span class="kw">&lt;?php</span> <span class="kw">echo</span> esc_url<span class="ot">(</span><span class="kw">$url</span><span class="ot">);</span> <span class="kw">?&gt;</span></span>
<span id="cb11-3"><a href="#cb11-3" aria-hidden="true"></a><span class="kw">&lt;?php</span> <span class="kw">echo</span> esc_attr<span class="ot">(</span><span class="kw">$class</span><span class="ot">);</span> <span class="kw">?&gt;</span></span>
<span id="cb11-4"><a href="#cb11-4" aria-hidden="true"></a><span class="kw">&lt;?php</span> <span class="kw">echo</span> wp_kses_post<span class="ot">(</span><span class="kw">$html_content</span><span class="ot">);</span> <span class="kw">?&gt;</span></span></code></pre>
</div>
<h2 id="conclusion">Conclusion</h2>
<p>ACF Flexible Content Fields create modular page builders through multiple layout types, get_row_layout() conditional display, and drag-and-drop reordering eliminating rigid template structures. Register layouts programmatically with acf_add_local_field_group(), organize layout templates in separate files with get_template_part(), implement nested flexible content for complex page structures, and add custom classes and styling options for design flexibility. Flexible content empowers editors to build custom page layouts without developer intervention maintaining consistent design patterns.</p>
<h2 id="external-links">External Links</h2>
<ol type="1">
<li><a href="https://www.advancedcustomfields.com/resources/flexible-content/">ACF Flexible Content Documentation</a></li>
<li><a href="https://www.advancedcustomfields.com/resources/get_row_layout/">get_row_layout() Function</a></li>
<li><a href="https://www.advancedcustomfields.com/blog/building-a-page-builder-with-acf/">Page Builder Patterns</a></li>
<li><a href="https://www.advancedcustomfields.com/resources/clone/">Clone Field Type</a></li>
<li><a href="https://www.advancedcustomfields.com/resources/flexible-content/#layout-settings">Layout Display Settings</a></li>
</ol>
<h2 id="call-to-action">Call to Action</h2>
<p>Page builder configurations need reliable backups. <a href="https://backupcopilotplugin.com/">Backup Copilot Pro</a> protects your WordPress flexible content layouts and custom field data automatically. Safeguard your modular page structures—start your free 30-day trial today!</p>
<p>The post <a href="https://developryplugins.com/acf-flexible-content-layouts-create-modular-page-builders/">ACF Flexible Content Layouts: Create Modular Page Builders</a> appeared first on <a href="https://developryplugins.com">Developry Plugins</a>.</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
