ブログ

【WordPress】ACFフィールド出力の返り値を「両方」にした場合の出力方法

使い所は限られますがAdvanced Custom Fields「チェックボックス」「ラジオボタン」「Select」「Button Group」で、返り値に両方(Both)を指定した際に、フロント側で「ラベル」と「値」を出力する方法です。

このページのコンテンツ

出力方法

下記コードを、出力したいテンプレート内に記述すれば表示されます。

<?php 
  $field = get_field('カスタムフィールド名', $post->ID); 
?>
 
//値(value)を出力する場合
<?php echo $field['value']; ?>
 
//ラベル(label)を出力する場合
<?php echo $field['label']; ?>

<?php echo $field['value']; ?>で「値」、<?php echo $field['label']; ?>で「ラベル」が出力されます。

言うまでもありませんが、ACFのフィールド設定時に返り値を「Both」にしてないと出力されません。なお繰り返しフィールド内Groupフィールド内で出力する際は$post->IDの部分を削除した上でget_fieldget_sub_fieldとしないと出力されませんのでご注意を。

出力例

<?php 
  $field = get_field('test_field', $post->ID); 
?>
<p class="<?php echo $field['value']; ?>"><?php echo $field['label']; ?></p>


//繰り返しフィールド内で使う場合
<?php if(have_rows('リピーターフィールド名')): ?>
<ul>
<?php while(have_rows('リピーターフィールド名')): the_row(); ?>
<?php
$field = get_sub_field('返り値Bothで出力したいフィールド名');
?>
<li class="<?php echo $field['value']; ?>"><?php echo $field['label']; ?></li>
<?php endwhile; ?>
</ul>
<?php endif; ?>

この記事を書いた人管理人

SAKURAGRAPHICA代表
会社員の傍ら、フリーランスでWEBサイトの制作やWordPressによるCMSの構築・障がい者の就労支援としてホームページ制作の指導を行っております。

SAKURAGRAPHICAができること

最近の記事 おすすめ記事
PAGE TOP