特定のカスタムフィールドでの値の有無によって、条件分岐させる
少しずつ商品が売れ始めてますが、ヨーロッパの方がメインなので、ユーロ対応を進めています。ところがPaypalだと、ユーザがドル/ユーロの選択ができない。
全商品の「カートに入れる」ボタンをいっぺんに変えることができないので、
という条件分岐をすることにした。
ShoppinJapanの場合、Paypalのボタンはカスタムフィールドを使って出しているので、カスタムフィールドに値がある場合とない場合で、条件分岐してコードを出し分けたいわけです。
最近のphpの勉強がやっといきてきた感じ。以下、php部分のコード。
<?php // 変数$meta_valuesはその記事の($post->ID)、ユーロペイパル(paypal_e)の値ですよ $meta_values = get_post_meta($post->ID, paypal_e, true); // それが空の場合(empty())、 if(empty($meta_values)): // つまりユーロのデータが無い場合、 ?> // 無ければしょうがないので、ドルペイパル(paypal)の値だけ出す <?php echo get_post_meta($post->ID, paypal, true); ?> // それ以外=ユーロペイパルがある場合、 <?php else: // if there IS EURO data ?> // ここにユーロペイパルがある場合のコードを書き込む <?php endif; ?>
一般化させると、
$変数名X = get_post_meta($post->ID, カスタムフィールドのkey, true); if(empty($変数名X)): ここにカスタムフィールド設定していない場合の動作 else: ここにカスタムフィールド設定している場合の動作 endif;
変数初めて使えた。嬉しい。