Wordpressのカスタムフィールドで日付の期限内で項目の表示・非表示を切り替えたいときがあるかと思います。
そんな時に便利な方法をご紹介します。
まずはカスタムフィールドで始まりの日付と終わりの日付のフィールドを設定しましょう。
フィールドタイプは『デイトピッカー』を選択します。
ラベル・フィールド名は任意で設定してください。
開始日付、終了日付の2つを用意します。
今回はラベル『開始日付』のフィールド名は『start_date』、
ラベル『終了日付』のフィールド名は『end_date』に設定しました。
これであとはPHP側にコードを書きます。
1 2 3 4 5 6 7 8 9 10 11 |
<?php //期間内に表示 date_default_timezone_set('Asia/Tokyo'); $today = date( 'Ymd' ); $start_date = get_field( 'start_date' );//ここに開始日付のフィールド名 $end_date = get_field( 'end_date' );//ここに終了日付のフィールド名 ?> <?php if(strtotime($today) >= strtotime($start_date) && strtotime($today) <= strtotime($end_date)) : ?> <p>受付中に表示</p> <?php else: ?> <p>時間を過ぎたら表示</p> <?php endif; ?> |
これだけで完了です。
あとはカスタムフィールドの期間を切り替えて確認してみて動いていたらOKです。
一応タイムゾーンは東京にしていますが、Wordpress本体のタイムゾーンは『設定>一般』から確認しておくと安心です。