カスタムフィールドの値が指定した値と一致した場合に条件分岐したい
少し前に関わらせていただいたサイト制作の案件でのお話です。
カスタムフィールドの値が、例えば【A】と一致したの場合のみ、専用のコンテンツを表示させたい!
そんなご希望をいただきました。
この様なご希望の場合は、条件分岐を使います。
カスタムフィールドの値が【A】と一致した場合のみ○○○○○を表示する。
そんな条件分岐です。
この条件分岐ですが、そんなに難しくありません。
3分程度で実装できます。
同じようなことがしたい方がいれば、参考にしてください。
カスタムフィールドの値が指定した値と一致した場合の条件分岐はコレ!
それでは、カスタムフィールドの値が【A】と一致した場合のみ○○○○○を表示する、そんな条件分岐の書き方をご紹介します。
この条件分岐に必要なモノは、以下の2つだけ。
・カスタムフィールドのフィールド名
・条件となる文字列(前述の説明であれば【A】)
それでは、具体的な書き方を2つご紹介します。
値が一致した場合にコンテンツを表示する場合
まずは、カスタムフィールドの値が指定した値と一致した場合にコンテンツを表示させる方法です。
コンテンツを表示させたい箇所に以下のコードをコピペしてください。
<?php if(get_post_meta($post->ID,'フィールド名',true) == '文字列'): ?>
値が一致した場合に表示する内容
<?php endif; ?>
赤文字の部分は、個別に書き換えを行わなければなりません。
【フィールド名】=カスタムフィールドの名前(例:text)
【文字列】=任意の文字列
【値が一致した場合に表示する内容】=ここに表示したいコンテンツを記述
どういう動作をするのか簡単に説明しますと、
・カスタムフィールドの値を取得
・上記の値と【文字列】が一致するかどうかを判断
・一致すれば【値が一致した場合に表示する内容】部分に記述したコンテンツを表示
上記の様な動作をします。
カスタムフィールドの値と【文字列】が一致しなかった場合は、何も表示されません。
値が一致した場合と一致しなかった場合で表示内容を分ける場合
先ほどは、カスタムフィールドの値と【文字列】が一致した場合のみコンテンツを表示するコードをご紹介しました。
ここでは、一致しなかった場合も専用のコンテンツを表示させる方法をご紹介します。
コンテンツを表示させたい箇所に以下のコードをコピペしてください。
<?php if(get_post_meta($post->ID,'フィールド名',true) == 'フィールドの値'): ?>
値が一致した場合に表示する内容
<?php else: ?>
値が一致しなかった場合に表示する内容
<?php endif; ?>
基本的に先ほどのコードと同じです。
各項目の解説は、前述していますのでそちらをご確認ください。
【値が一致しなかった場合に表示する内容】の部分には、カスタムフィールドの値と【文字列】が一致しなかった場合に表示させる内容を記述してください。
今回のコードがどういう動作をするのか簡単に説明しますと、
・カスタムフィールドの値を取得
・上記の値と【文字列】が一致するかどうかを判断
・一致すれば【値が一致した場合に表示する内容】部分に記述したコンテンツを表示
・一致しなければ【値が一致しなかった場合に表示する内容】の部分に記述したコンテンツを表示
上記の様な動作をします。
まとめ
カスタムフィールドの値が一致するかどうかで条件分岐する方法をご紹介しました。
カスタムフィールドを利用しているのであれば、利用する機会は多いのではないでしょうか?
個人的には使う機会が多いので、今回ご紹介をさせていただきました。
よく使う条件分岐を42種類を以下の記事にまとめてみたのでご確認ください。
⇒ 【保存版】WordPressの条件分岐を42個まとめてみました!
コメントを残す