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