カスタムフィールドの値によってコンテンツを変えたい!
あるクライアント様からのご希望でした。
- カスタムフィールドの値がA=文章Aを表示
- カスタムフィールドの値がB=文章Bを表示
- カスタムフィールドの値がC=文章Cを表示
- カスタムフィールドの値がD=文章Dを表示
- カスタムフィールドの値がE=文章Eを表示
カスタムフィールドの値を判別して表示するコンテンツを変更したいというご希望です。
カスタムフィールドの値がAの場合は文章Aを表示、それ以外の値の場合は文章Bを表示させる方法は、少し前に以下のコンテンツでご紹介いたしました。
[ryus_blogcard url=”https://takayakondo.com/if-customfield-match/”]
今回は、上記でご紹介している条件分岐の方法を少しだけ複雑にすればOKです。
複雑と言っても、そこまで複雑ではありません。
文章を表示させたい箇所に、以下のコードを記述すればOKです。
カスタムフィールドの名前は【test】とします。
<?php if(get_post_meta($post->ID,'test',true) == 'A'): ?>
文章A
<?php elseif (get_post_meta($post->ID,'test',true) == 'B'): ?>
文章B
<?php elseif (get_post_meta($post->ID,'test',true) == 'C'): ?>
文章C
<?php elseif (get_post_meta($post->ID,'test',true) == 'D'): ?>
文章D
<?php elseif (get_post_meta($post->ID,'test',true) == 'E'): ?>
文章E
<?php else: ?>
文章その他
<?php endif; ?>
【test】の部分は、対象のカスタムフィールド名に変更してください。
【A~E】と【文章A~その他】の値は自由に変更してください。
HTMLタグも使用することが出来ます。
上記のコードは以下のような処理を行います。
- カスタムフィールドの値がAであった場合、文章Aを表示する。
- 上記に当てはまらず、カスタムフィールドの値がBであった場合、文章Bを表示する。
- 上記に当てはまらず、カスタムフィールドの値がCであった場合、文章Cを表示する。
- 上記に当てはまらず、カスタムフィールドの値がDであった場合、文章Dを表示する。
- 上記に当てはまらず、カスタムフィールドの値がEであった場合、文章Eを表示する。
- そのいずれにも当てはまらない場合、「文章その他」を表示する。
これでクライアント様からのご希望、
- カスタムフィールドの値がA=文章Aを表示
- カスタムフィールドの値がB=文章Bを表示
- カスタムフィールドの値がC=文章Cを表示
- カスタムフィールドの値がD=文章Dを表示
- カスタムフィールドの値がE=文章Eを表示
こちらが実現できました。
まとめ
カスタムフィールドの値によってコンテンツを変える条件分岐をご紹介しました。
使える部分は限定的かもしれませんが、覚えておいて損はありません。
今回のコンテンツをじっくりと読んでマスターしてください。
よく使う条件分岐を42種類を以下の記事にまとめてみたのでご確認ください。
⇒ 【保存版】WordPressの条件分岐を42個まとめてみました!
コメントを残す