[php]日時指定で切り替える方法

phpの記述で指定した日時を発火点にした切り替えが組める。

活用

深夜にWEBサイトのデザインを切り替えたい(寝たいから無理だわ)とか、○時に切り替えたい(他の予定に押されるかも)とか、休日に切り替え(休みたいんだけど)とかに対応するために使える。

よくよく考えたらデザイン切り替えのタイミング指定ってどのサービスでも見ないので自作の範疇になってくるな、という感じに。投稿予約はあるんだけどね。

参考

指定した日時によって自動で表示を切り替えたり変化させるPHPネタ - Qiita
PHPを使って自動でサイトを更新するためのまとめ。キャンペーン告知や応募受付に。※さらにスマートな書き方をコメント欄にていただいたので追記しました。指定日時まで表示し、過ぎたら非表示にする<…

組み方

<?php
$startTime = new DateTime('2022-03-11 09:31');
if (new DateTime >= $startTime): ?>
時間が来たら表示
<?php else: ?>
時間になるまで表示
<?php endif; ?>

参考記事には複数の方法が上がってる。「スマートに」って書いてあったけど、動かないものがあったので環境にどれが合ってるかをテストしてから導入するのがいいと思う。

本番環境で下手なことはできないので同環境の代替としてテストページを作るか、コンソールの表示で表に出ないようにやるのが無難。

応用

参考記事のとおりだけど、開始と終了を指定すれば期間限定表示を仕込むこともできる。wpであればカスタムフィールドと絡めてどうのこうのができるんじゃないか。

便利だけど管理をきちんとしないと怖いことになるので注意。

運用

単純に何かしらの切り替えに使う場合、切り替え後はifは不要になるので削除するように。書いたままにしておいて「なんだこれ」になったときが怖い。

コメント

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