WordPress 5.3 で導入される日時の関数とフィルター

はじめに

WordPress 5.3 は11月にリリース予定ですが、以下の様な記事を見つけました。

新しい日時の関数とフィルターが導入されるという事で、日時の関数とフィルターを多数使用している自分のプラグイン Wareki をベータ版でテストした所、動作しない箇所があったので修正しました。その際に、いろいろテストしたので一部の関数とフィルターを以下に紹介します。

日付のフォーマット、投稿、コメント、アーカイブ、カレンダーに元号を含む日本の暦を追加します。
(3) 最終更新: 4週間 前
200以上サイトで有効化中 検証済み: 6.7.1
ダウンロード: リリース: 2019-04-02

関数

wp_date( $format, $timestamp = null, $timezone = null )

date_i18n 関数の後継だと思います。

  • 第1引数 PHP の日時のフォーマット
  • 第2引数 Unix タイムスタンプ
  • 第3引数 タイムゾーン
  • 返り値 書式化された日時の文字列もしくは False

第3引数がポイントでデフォルトではサイトで設定したタイムゾーンが入ってきます。使い方は以下の様に書きます。現在の日時を出すだけなら、第2引数・第3引数は省略します。

$date_ux = 1569422086;
$date = wp_date( 'Y-m-d H:i:s', $date_ux, new DateTimeZone( 'UTC' ) );

以前 data_i18n 関数では、前後のコード次第で9時間ずれたりして苦労した事があったのですが、この関数ではそのような事はなくなりました。

https://wpdocs.osdn.jp/%E9%96%A2%E6%95%B0%E3%83%AA%E3%83%95%E3%82%A1%E3%83%AC%E3%83%B3%E3%82%B9/date_i18n

current_datetime()

以下の様な日時のオブジェクトを返します。

DateTimeImmutable Object ( [date] => 2019-09-25 23:34:46.584458 [timezone_type] => 3 [timezone] => Asia/Tokyo ) 

フィルター

apply_filters( 'wp_date', $date, $format, $timestamp, $timezone )
  • 第1引数 書式化された日時の文字列
  • 第2引数 PHP の日時のフォーマット
  • 第3引数 Unix タイムスタンプ
  • 第4引数 タイムゾーン返り値 日時の文字列もしくは False

Comments

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください