空欄を非表示にする条件分岐
カスタムフィールドで、入力項目があったりなかったりする箇所がある。空白を非表示にするには、どうやったらいいんだろう?
下記のコードで無事、空白箇所の非表示に成功しました。empty関数で、フィールド名を変数$valueに入れて、空白を調べるようです。(今回私はACF(Advanced Custom Fields)プラグインをつかっています。)
<!--empty関数で空白を調べる -->
<?php $value = get_field('award-year'); if (empty($value)) : else : ?>
<!-- 入力がある場合に表示させる -->
<li class="award_list"><?php echo get_field('award-year'); ?></li>
<?php endif; ?>
全体表示↓
<?php
$args = [
'post_type' => 'awardhistory', //投稿スラッグ
'paged' => $paged
];
$the_query = new WP_Query($args);
?>
<!-- 投稿内容 -->
<ul>
<?php if ($the_query->have_posts()) : ?>
<?php while ($the_query->have_posts()) : $the_query->the_post(); ?>
<!-- 投稿内容 -->
<?php $value = get_field('award-year'); //フィールド名
if (empty($value)) : else : ?> //empty関数で空白を調べる
<!-- 入力がある場合に表示させる -->
<li class="award_list"><?php echo get_field('award-year'); ?></li>
<?php endif; ?>
<?php $value = get_field('award-text'); //フィールド名
if (empty($value)) : else : ?> //empty関数で空白を調べる
<!-- 入力がある場合に表示させる -->
<li class="award_list"><?php echo get_field('award-text'); ?></li>
<?php endif; ?>
<?php $value = get_field('abstract'); //フィールド名
if (empty($value)) : else : ?> //empty関数で空白を調べる
<!-- 入力がある場合に表示させる -->
<li class="award_list"><?php echo get_field('abstract'); ?></li>
<?php endif; ?>
</ul>
<?php endwhile; ?>
<?php wp_reset_postdata(); ?>
<?php endif; ?>
参考にさせていただいたページです。↓
https://otamunote.com/wp-customfield-if/