Mill's Note

【ACF】繰り返しフィールドの出力

/

Advanced Custom Fields の繰り返しフィールドは、投稿者が自由に追加・削除・順序変更可能な、制作者にとっても運営者にとっても、とても便利なフィールドグループ。

Pro版( サブスク )のみの機能なので気軽に使えない事もありますが、この便利さ、絶対お勧めです !

繰り返しフィールド

繰り返しフィールド 名サブフィールド 名サブフィールド ラベル
sample_repeatertitleリンク名
urlリンクURL

通常の呼び出し

PHP
<?php 
  if( have_rows('sample_repeater') ){
    while ( have_rows('sample_repeater') ){ the_row();
      echo '<a href="'. get_sub_field('url') .'">'. get_sub_field('title') .'</a>';
  } }
?>

オプションページから呼び出し

'option' は親フィールドのみに記載します ( サブフィールドはフィールド名のみ )

PHP
<?php 
  if( have_rows('sample_repeater', 'option') ){
    while ( have_rows('sample_repeater', 'option') ){ the_row();
      echo '<a href="'. get_sub_field('url') .'">'. get_sub_field('title') .'</a>';
  } }
?>

別の投稿から呼び出し

'別投稿のID' は親フィールドのみに記載します ( サブフィールドはフィールド名のみ )

PHP
<?php 
  if( have_rows('sample_repeater','別投稿のID') ){
    while ( have_rows('sample_repeater','別投稿のID') ){ the_row();
      echo '<a href="'. get_sub_field('url') .'">'. get_sub_field('title') .'</a>';
  } }
?>

[Tips] サブフィールド名について

「繰り返しフィールド 名」はACFフィールドグループ内で一意にする必要がありますが、
「サブフィールド」は親フィールドに紐づいている為、他のフィールドグループのサブフィールド名と被ってもOK

「画像はimg」「タイトルはtitle」など分かりやすい名前を決めておくと、コードをコピペで使い回す際にとっても楽になりますよ^^

参考サイト