???「〇〇きゅ〜ん、0時に更新したいコンテンツがあるんだけど〜…お願いできるかなぁ??」
営業〇〇きゅ〜ん「はい!喜んで!」
社畜「…(さついのはどう)」
皆さんはこんな現場に立ち会ったことがあるだろうか。
休日に更新したい、夜中に更新したい、お正月に更新したい。
昨今の働き改革の流れにもかかわらず、サイトコンテンツによっては働き手が残業せざるを得ない時間に更新することもありがちですよね。
今回はPHPコンテンツのページで時限設定ができるコピペ用コードです。
目次
全体のコード
/* 時限 setting 1回貼れば大丈夫 */ date_default_timezone_set('Asia/Tokyo'); $today = date('YmdHi'); /* ↓ 色んな所に使えます ↓ */ if( $today < date('202001010000') ) { // 期限前に表示される } else { // 期限後に表示される } endif ;
これをコピペして、自分の好きな時間に設定してください。
概要
2、3行目
ここを設定しないとエラーやらなんやらで更新どころかクレームが来ます。きをつけなはれや。
/* 時限 setting 1回貼れば大丈夫 */ date_default_timezone_set('Asia/Tokyo'); $today = date('YmdHi');
まずはdate_default_timezone_set()
でタイムゾーンを設定します。身バレするのが怖いですが筆者は日本に住んでいるので、特に理由がなければ東京時間にセット。
変数$today
に現時刻を代入します。ちなみに各アルファベットの意味は、
- Y:年(西暦4桁)
- m:月(2桁 ※1月なら01)
- d:日(2桁 ※1日なら01)
- H:時(2桁 ※24時間表記)
- i:分(2桁 ※5分なら05)
です。
ちなみにWordPressなどヘッダーが共通しているものはテンプレートの最初にでも記述しておけば、記述が一回で済んで幸せになれます。
6行目〜
ここでは決めた期限に合わせて表示非表示を切替えます。
if( $today < date('202001010000') ) { // 期限前に表示される } else { // 期限後に表示される } endif ;
見てのとおりですが、ひとまず2020年1月1日0時0分に期限を設定しています。
単純なif..else
構文なので何も複雑なことはないです。現在の時間より設定した期限が前か後ろかを判定しています。
設定した期限より現時刻が前であればtrueとなり、後であればfalseです。
気をつける点
このコードで気をつける点はただ一つ。設定する時限の桁数です!
例で出した2020年1月1日0時0分ですが、日本語で書けばすぐ理解できます。でも数字だけで表すと20200101000となり瞬時にはわからないですよね。
ちなみに上の数字は11桁なのでエラーとなり動きません。(動く数字は12桁)
こんなかんじで紛らわしくなるので、慣れないうちは時間ごとに数字を区切って(2020,01,01,00,00)、使うときに区切りを取るようにしましょうそうしましょう。
まとめ
長期休みや年末年始に更新があって休みが取れない!なんてことがないように時限が使えるところは積極的に使っていけば脱社畜に近づけますね!
それでは仕事に戻ります…