WordPressのシステムの1つにカスタムフィールドがあります。
使い方などをある程度マスターできるようになれれば、サイト制作の上でかなり便利なシステムなのですが、そんなカスタムフィールドの値の有無でページ上のカスタムフィールドの値の表示・非表示を条件分岐により設定することが可能だったりします!
そこで今回はページ上でカスタムフィールドの値を表示させる方法と、値の有無による条件分岐によりカスタムフィールドの値の表示・非表示させる方法についてご紹介したいと思います!
カスタムフィールドの値をページ上に表示させる方法とは?
まずカスタムフィールドの値を投稿ページもしくは固定ページなどで表示させるには、以下のようにテンプレートに記述することで実装できます!
<?php echo post_custom('カスタムフィールド名'); ?>
例えばtestというカスタムフィールドを表示させたい場合には
<?php echo post_custom('test'); ?>
とテンプレートに記述することで、その箇所にカスタムフィールドtestに入力した内容を表示させることができます!
カスタムフィールドの値の有無で条件分岐にさせる方法とは?
それでは本題のカスタムフィールドの値の有無で条件分岐させるには、以下のようにテンプレートに記述することで実現可能となります!
<?php if(post_custom('カスタムフィールド名')): ?> <?php echo post_custom('カスタムフィールド名'); ?> <?php endif; ?>
これを元に、例えばtestというカスタムフィールドの値の有無で条件分岐させたい場合には
<?php if(post_custom('test')): ?> <?php echo post_custom('test'); ?> <?php endif; ?>
とテンプレートに記述することで、カスタムフィールド・testが入力されていた場合にはtestの内容を表示させ、入力されていなかった場合には非表示にさせる…ということが可能になります!
これを応用して、カスタムフィールド・testが入力されていた時にはtestの内容を、カスタムフィールド・mihonが入力されていた場合にはmihonの内容を表示させ、それ以外の場合には非表示にする…といった場合には以下のようにテンプレートにきじゅつすることで実装可能となります!
<?php if(post_custom('test')): ?> <?php echo post_custom('test'); ?> <?php elseif(post_custom('mihon')): ?> <?php echo post_custom('mihon'); ?> <?php else: ?> <?php endif; ?>
まとめ
カスタムフィールドの値の有無で条件分岐させる上で、アイデア次第では色々応用できると思いますので、色々と試してみてはいかがでしょうか(^^)