Advanced Custom Fieldsのラジオボタンを利用した、条件分岐やループで使う時の関数です。
ここでも、get_field
を使って項目の文字列を出力したり、記事一覧を表示させたりできます。
ラジオボタンで選択した項目を出力
以下のような項目をACFで設定した場合、
- 選択肢1の英数字:選択肢1の名前
- 選択肢2の英数字:選択肢2の名前
- 選択肢3の英数字:選択肢3の名前
上記の「選択肢1の英数字」「選択肢1の名前」がそれぞれ設定された場合、以下をループの中で使うとその名前が表示されます。
PHP
<?php $cat = get_field('フィールド名');
if ($cat == '選択肢1の英数字の名前') { echo '選択肢1の名前';
} elseif ($cat == '選択肢2の英数字の名前') {
echo '選択肢2の名前';
} else {
echo '選択肢3の名前'; } ?>
ラジオボタンで条件分岐
ラジオボタンで選択した項目によって条件分岐する関数です。
PHP
<?php if ( get_field('フィールド名') == '選択肢の英数字' ) : ?>
// 選択肢の英数字が選択された場合の処理を記述
<?php endif; ?>
上記は、他の条件分岐の関数と一緒に使えます。
関連記事 条件分岐タグ
選択した項目に該当する記事一覧
ラジオボタンで選択した項目に該当する記事一覧のループです。
<!-- ここに出力する内容 -->
に出力する内容を記述すればOKです。
PHP
<?php
$arg = array(
'post_type' => 'post', // 投稿タイプ
'order' => 'DESC',
'showposts' => 3, // 表示件数
'meta_query' => array(
array(
'key' => 'authority_category', //フィールド名
'value' => 'generalauthority', // 選択肢
'compare' => 'LIKE'
)
)
);
?>
<?php $posts = get_posts($arg); ?>
<ul>
<?php foreach($posts as $post):
setup_postdata($post); ?>
<!-- ここに出力する内容 -->
<?php endforeach;
wp_reset_postdata();?> </ul>
選択した項目に該当する記事一覧をページネイションで出力
ラジオボタンで選択した項目で一致した内容を、ページネイションで区切った記事一覧のループです。
ページネイションは、プラグイン「WP-PageNavi」の wp_pagenavi
の関数を使って出力しています。
PHP
<ul>
<?php
$args = array(
'paged' => $paged,
'post_type' => 'post', //投稿タイプ
'posts_per_page' => 20, // ページを区切る件数
'meta_query' => array(
array(
'key' => 'authority_category', //フィールド名
'value' => 'administratorprivileges', // ラジオボタンの選択肢
'compare' => 'LIKE' // LIKE=含む
)
)
);
$my_query = new WP_Query($args);
if ($my_query->have_posts()) :
while ($my_query->have_posts()) : $my_query->the_post();
?>
<li>
<!-- ここにループの内容 -->
</li>
<?php endwhile; ?>
</ul>
<?php wp_reset_query();endif; ?>
<?php if(function_exists('wp_pagenavi')) wp_pagenavi(array('query' => $my_query));?>