入力済みのカスタムフィールドの表示期限が切れたらエリアごと非表示に
-
お世話になります。
カスタム投稿タイプとカスタムフィールドを用いて、クーポンサイトを作成しています。カスタムフィールド「Aクーポン」「Bクーポン」がそれぞれ入力されている状態で
「Aクーポン」の表示期限が切れた場合は「Bクーポン」の内容を、
「Bクーポン」の表示期限が切れた場合は「Aクーポン」の内容を、
どちらも表示期限が切れている場合はエリアそのものを非表示にさせたいのですが、うまくいきません。<?php if(post_custom('Aクーポン')): ?> <!-- 非表示にさせたいエリア ここから --> <img src="coupon_title.gif" width="470" height="93" alt="" class="coupon_title" /> <div class="shopbox2"> <?php date_default_timezone_set('Asia/Tokyo'); $Astart = get_post_meta($post->ID,'Aクーポンstart',TRUE); $Astartdate = ($Astart-1)."25"; $Aend = get_post_meta($post->ID,'Aクーポンend',TRUE); $Aenddate = ($Astart)."25"; if (date("Ymd") >= $Astartdate && date("Ymd") < $Aenddate ){ ?> <div class="becocoupon"><?php echo get_post_meta($post->ID,'Aクーポン',TRUE); ?></div> <div class="couponcomment"><?php echo get_post_meta($post->ID,'Aコメント',TRUE); ?>  ※クーポンについての説明文</div> <?php } ?> </div><!-- .shopbox2 --> <!-- 非表示にさせたいエリア ここまで --> <?php endif; ?> <?php if(post_custom('Bクーポン')): ?> <!-- 非表示にさせたいエリア ここから --> <img src="coupon_title.gif" width="470" height="93" alt="" class="coupon_title" /> <div class="shopbox2"> <?php date_default_timezone_set('Asia/Tokyo'); $Bstart = get_post_meta($post->ID,'Bクーポンstart',TRUE); $Bstartdate = ($Bstart-1)."25"; $Bend = get_post_meta($post->ID,'Bクーポンend',TRUE); $Benddate = ($Bstart)."25"; if (date("Ymd") >= $Bstartdate && date("Ymd") < $Benddate ){ ?> <div class="becocoupon"><?php echo get_post_meta($post->ID,'Bクーポン',TRUE); ?></div> <div class="couponcomment"><?php echo get_post_meta($post->ID,'Bコメント',TRUE); ?>  ※クーポンについての説明文</div> <?php } ?> </div><!-- .shopbox2 --> <!-- 非表示にさせたいエリア ここまで --> <?php endif; ?>
「Aクーポン」「Bクーポン」それぞれに表示期限を設定しているために、
表示期限が切れてもカスタムフィールドに入力された値は存在しているので
エリアが表示されてしまうのでは、と思ったのですが…。なお、
<?php date_default_timezone_set('Asia/Tokyo'); $Astart = get_post_meta($post->ID,'Aクーポンstart',TRUE); $Astartdate = ($Astart-1)."25"; $Aend = get_post_meta($post->ID,'Aクーポンend',TRUE); $Aenddate = ($Astart)."25"; if (date("Ymd") >= $Astartdate && date("Ymd") < $Aenddate ){ ?>
の箇所は前任者の記述したコードの為、ご質問頂いてもうまくお答えできないかもしれません。申し訳ありません。
「Aクーポン」「Bクーポン」それぞれを毎月25日の午前0時で表示を切り替える、という内容のコードのようです。分かりづらい質問で申し訳ありません。
ご教授いただければ幸いです。
よろしくお願いいたします。
7件の返信を表示中 - 1 - 7件目 (全7件中)
7件の返信を表示中 - 1 - 7件目 (全7件中)
- トピック「入力済みのカスタムフィールドの表示期限が切れたらエリアごと非表示に」には新たに返信することはできません。