ワードプレスで現在時刻、または現在時刻の数時間前を取得するPHPコードをご紹介します。

ワードプレスで現在時刻をフォーマットを指定して取得する

ワードプレスには、現在時刻を取得する組み込み関数である、current_time という処理があります。
この関数はワードプレスに設定されたタイムゾーンに応じて、フォーマットを指定すれば現在時刻の文字列を返してくれます。

$ima = current_time('Y年m月d日 H時i分s秒');

※ Ymd Hisはそれぞれ現在時刻の年月日時間に置き換わりますので、お好きな表示方法を指定することができます。

ワードプレスで現在時刻より前の時刻を取得するには?

この場合ワードプレスのcurrent_time関数は使用できませんので、より細かくPHPの処理を書く必要がございます。
現在時刻の6時間目の時刻を取得するコードは下記のようになります。

$datetime = new DateTime( 'now', wp_timezone() );
$datetime->modify('-6 hour');
$sixhoursbefore = $datetime->format('Y年m月d日 H時i分s秒');

1行目 まず wp_timezone()でワードプレスに設定されたタイムゾーン設定から現在時刻を$datetimeにオブジェクトとして取得します。

2行目 ->modify関数で6時間前を表す-6 hourを指定し、6時間前の日付時刻を取得します。
この部分は1時間前なら -1 hour 、1週間前なら -1 week 、1カ月前なら -1 month なども指定可能です。(逆に+で未来の時刻にすることも可能です)

3行目 最後に->format関数でお好きなフォーマットで日付を文字列に変換して$sixhoursbefore変数に入れています。

WordPress ワードプレスサイトのテーマやプラグインの修正・カスタマイズのご依頼・ご相談はワードプレスドクターまでお気軽にお送りください