こんな方に読んでほしい
[記事の内容]

ACF(Advanced Custom Fields)を使うと、投稿や固定ページに自由に項目を追加できます。
しかし、入力がない場合にも表示されてしまうと、見た目やユーザー体験に影響が出てしまいます。
そこで活用したいのが「条件分岐」です。
入力されていない項目をそのまま表示すると、空白や不自然なレイアウトが発生します。
条件分岐を使うことで、必要な情報だけをきれいに表示することができます。

入力がある場合のみ表示する基本的なコードを見ていきましょう。
コードはシンプルです。
<?php if(get_field('cat')): ?>
<div class="data-cat"><?php the_field('cat'); ?></div>
<div class="data-day"><?php the_field('day'); ?></div>
<?php endif; ?>
| cat | 入力あり | day | 入力あり | 表示 | 両方表示 |
|---|---|---|---|---|---|
| cat | 入力あり | day | 入力なし | 表示 | dayは空で表示 |
| cat | 入力なし | day | 入力あり | 表示 | 両方非表示 |
| cat | 入力なし | day | 入力なし | 表示 | 非表示 |
今回は、catの入力がある場合、ない場合の表示、非表示のコードになります。
get_field('cat')で、値を取得します。if(その値があるか?)YESなら表示、NOなら非表示にします。先ほど、コードに少し足すことで、2つのフィールドに入力がない場合に、表示、非表示にする方法になります。
全体のコードは以下になります。
<?php if(get_field('cat') && get_field('day')): ?>
<div class="data-cat"><?php the_field('cat'); ?></div>
<div class="data-day"><?php the_field('day'); ?></div>
<?php endif; ?>
| cat | 入力あり | day | 入力あり | 表示 | 両方表示 |
|---|---|---|---|---|---|
| cat | 入力あり | day | 入力なし | 表示 | 非表示 |
| cat | 入力なし | day | 入力あり | 表示 | 非表示 |
| cat | 入力なし | day | 入力なし | 表示 | 非表示 |
今回は、cat、dayの入力がある場合に表示します。それ以外は、非表示のコードになります。
場合によっては、どちらか一方が入力されていれば表示したいケースもあります。
その場合は条件を変更します。
<?php if(get_field('cat') || get_field('day')): ?>
<div class="data-cat"><?php the_field('cat'); ?></div>
<div class="data-day"><?php the_field('day'); ?></div>
<?php endif; ?>
|| を使うことで「どちらかが入力されていれば表示」になります。
WordPressのカスタムフィールドについて
今回はこれで以上です。
ACFの条件分岐を使うことで、入力状況に応じた柔軟な表示制御が可能になります。
特に「空の場合は表示しない」という処理は、見た目の品質を保つ上で非常に重要です。
今回紹介したコードをベースに、用途に応じて「AND(&&)」と「OR(||)」を使い分けてみてください。
少しの工夫で、より使いやすく、きれいなサイトを実現できます。
get_field() は値の有無で表示・非表示を切り替えられます。&&(AND)は両方入力されている場合のみ表示します。||(OR)はどちらか一方でも入力があれば表示します。2026.03.29
2026.03.14
2026.03.08
2026.03.01
2026.02.26
2025.10.17
2023.06.15
2022.06.30
2020.03.22
2020.03.06

© 2025 shu-naka-blog