ホームページ制作、ネットショップ開業・運用、SNS運用など、インターネットに関する事業支援を致します

[WordPress] テーマファイル内で公開日を指定する方法

更新日
2022年7月19日
作成日
2022年1月5日

以前、PHPで公開日を指定する方法という記事を書きましたが、WordPressのテーマファイル内で記述すると時間がずれてしまいました。

その記事の中で、date_default_timezone_set(“Asia/Tokyo”) を指定する事で解決する旨も伝えましたが、WordPressには、date_i18nという便利な関数が用意されていましたので、今日はその紹介です。

WordPress関数 date_i18n を使って公開日を指定する

以下、参考ソースコードでは、date_i18n関数を使いWordPress一般設定のタイムゾーンで設定した現地時間を取得、DateTimeで指定した日時のオブジェクトを生成して日付の比較をしています。

$now = date_i18n('Y-m-d H:i:s');
$target_day = new DateTime('2022-01-05 00:00:00');
$target_day = $target_day->format('Y-m-d H:i:s');
if ( $now < $target_day ) : // 2021年1月5日0時0分0秒まで公開
   //処理
endif;

WordPress一般設定のタイムゾーンで設定した現地時間は以下の箇所となります。

WordPressテンプレート内で私も最初は $now = new DateTime(); のように日付を取得していたのですが、それではUTC(協定世界時)の日時を取得してしまいましたので、意図した日付での比較ができていませんでした。

WordPressテンプレート内で日付を呼び出す時は、DateTime関数とdate_i18n関数の性質を見極めて使い分るのが良いと思いました。

date_i18n関数について詳しくはWordPress関数リファレンスをご確認ください。

  • なんでも相談

    ICTよろず相談所は、ホームページ制作、ネットショップ開業・運用、ブログ運用、SNS運用などインターネットに関する事業支援を行なっております。

    どんな些細な疑問や質問でも気軽にお問い合せ下さい。