使い所は限られますが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_fieldをget_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の構築・障がい者の就労支援としてホームページ制作の職業指導員も行っております。










