【WordPress】カスタムフィールドのセレクトボックスに設定した値で条件分岐させる方法

2015年06月16日
follow us in feedly

img_wordpress

WordPressには投稿に対して、「タイトル」と「本文」以外に任意の情報を追加できるカスタムフィールドという大変便利な機能があります。

このカスタムフィールド、functions.phpにコードを追記して自作することもできますが、カスタムフィールドの機能を支援・拡張してくれるAdvanced Custom Fieldsというプラグインを使った方が簡単です。

今回、この便利なプラグインを使って、セレクトボックスタイプのフィールドを作りました。3つの料金が選べるようにしています。

Advanced Custom Fields

セレクトボックスに設定した値で条件を分岐させる

上記のフィールドにより、3つの料金候補から選択した値を取得することができるようになります。

この取得された値に応じて、それぞれ違う画像を表示させてみることにしました。そのためにはセレクトボックスの値で条件分岐させる必要があります。

条件分岐の方法

カスタムフィールドを使う時は大半がループ内で使用すると思いますが、ご紹介する方法はループ内で使用する場合の記述になります。

<?php $price = get_post_meta($post->ID,"cf_price",true); ?>
<?php if ($price == '料金 1,000円') : ?>
<img src="<?php bloginfo('template_url'); ?>/images/sub/img_p1000.png" width="163" height="25" >
<?php elseif ($price == '料金 2,000円') : ?>
<img src="<?php bloginfo('template_url'); ?>/images/sub/img_p2000.png" width="163" height="25" >
<?php elseif : ?>
<img src="<?php bloginfo('template_url'); ?>/images/sub/img_p3000.png" width="163" height="25" >
<?php endif; ?>

get_post_metaでカスタムフィールド情報を取得します。パラメータは前から投稿IDフィールド名です。ちなみにtrueは登録されている1番目のカスタムフィールドの値を文字列として返します。falseなら登録されている全てを配列で返します。

取得した情報を変数priceに入れます。あとはif~elseif~else構文を使って条件判断するだけです。

follow us in feedly

関連記事

福岡でホームページ制作を依頼するなら【ハブワークス】

ホームページ制作・リニューアル・スマートフォンサイト制作・ECサイト制作は福岡のハブワークスまでお気軽にどうぞ。WEBサイト制作後の修正・更新・SEO対策もお任せください。リーズナブルな料金設定でサービスをご提供いたします。

webサイト制作・修正に関するお問合せ・ご相談・お見積りはお気軽にどうぞ