ラジオボタンの条件分岐と出力

ACFのラジオボタン

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));?>