Top

メモ書き

今回はタイトルの通り。
こちらで紹介したものの応用ですが頻出ですので覚えておくと良いかと。

ACFの繰り返しフィールド内の繰り返しフィールドを出力する方法

早速結論となるコードを。

<?php if(have_rows('pre_field')): ?>
<ul>
	<?php while(have_rows('pre_field')): the_row();?> //1ループ目
	<li>
		<?php if(have_rows('child_field')): ?>
		<div>
			<?php 
				while(have_rows('child_field')): the_row(); //2ループ目
				$child_subfield_ttl = get_sub_field('child_subfield_ttl');
				$child_subfield_txt = get_sub_field('child_subfield_txt');
			?>
			<dl>
				<dt>
					<?php echo esc_html( wp_strip_all_tags($child_subfield_ttl));?>
				</dt>
				<dd>
					<?php echo nl2br( esc_textarea($child_subfield_txt));?>
				</dd>
			</dl>
			<?php endwhile; ?>
		</div>
		<?php endif; ?>
	</li>
	<?php endwhile; ?>
</ul>
<?php endif; ?>

親の繰り返しフィールド名が pre_field 、その中の繰り返しフィールドを child_field としています。
複雑なように見えますが、ひとつひとつ見ていけば理解しやすいかと。