Mill's Note

【ACF】グループフィールドの出力

/

Advanced Custom Fields のグループフィールドは、複数のカスタムフィールドをグループ化して管理する為のフィールドグループ。

登録画面を見やすくしたり、呼び出しコードの使い回しが楽になるので、頻繁に使用するフィールドグループです。

グループフィールド

グループフィールド 名サブフィールド 名サブフィールド ラベル
sample_grouptitleリンク名
urlリンクURL

通常の呼び出し

PHP
<?php 
  $group = get_field('sample_group');
  if($group){
    $ttl = $group['title'];
    $url = $group['url'];
    echo '<a href="' . $url . '">' . $ttl . '</a>';
  }
?>

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

'option' は親フィールドのみに記載します ( サブフィールドは通常と同じ )

PHP
<?php 
  $group = get_field('sample_group', 'option');
  if($group){
    $ttl = $group['title'];
    $url = $group['url'];
    echo '<a href="' . $url . '">' . $ttl . '</a>';
  }
?>

別の投稿から呼び出し

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

PHP
<?php 
  $group = get_field('sample_group', '別投稿のID');
  if($group){
    $ttl = $group['title'];
    $url = $group['url'];
    echo '<a href="' . $url . '">' . $ttl . '</a>';
  }
?>

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

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

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