[wp]ACFで指定日の残日数表示

地味に使う。

用途

商品販売とかの告知をする際、期間限定だったりする。
年月日を書いておけば間違うことはないんだけど、「残り○日」みたいな表示があったほうが煽りになる。それを作る方法。

環境

wordpress + Advanced Custom Fields

リミットを書く必要があるからその枠を作るためにはカスタムフィールドが必要で、自作よりもプラグインが楽だという話。

作り方

今回は時間は無視して年月日のみを指定することにする。
なのでACFでは「デイトピッカー」で項目を用意する。

<?php
    date_default_timezone_set("Asia/Tokyo");
    function remainDate($day) {
        return intval((strtotime($day) - strtotime(date('Y/m/d'))) / (60*60*24));
    }
    $remainDate = remainDate(get_field('***'));
    if($remainDate <= 0):
        $remainDate = '取引期間が終了しました。';
    elseif($remainDate == 0):
        $remainDate = '本日まで';
    else:
        $remainDate = '残り'.$remainDate.'日';
    endif;
?>

<?php echo $remainDate; ?>

「get_field(‘***’)」はACFで設定した名前を入れる。

ifで$remainDateを上書きしてるのは変数を増やしても意味ないなってことで。他に用途があるなら変えたほうがいい。

コメント

タイトルとURLをコピーしました