WordPressでは、投稿の公開日を変更するオプションがあり、フロントエンドで簡単にそれを取得するために get_the_date() が用意されています。

どうやら、WordPress は _wp_old_date メタ キーを保持し、それが変更されるたびに古い日付を保存します。 これはget_post_meta()を使えば簡単に取得することができます。 つまり、get_post_meta( get_the_ID(), '_wp_old_date' ); を echo すると、すべての古い日付を含む配列が得られます:

array (size=3) 0 => string '2020-03-14' 1 => string '2020-03-21' 2 => string '2020-03-11'

ドキュメントによると、get_post_meta() はオプションの第三パラメータを受け付け、これを true に設定すると最初の値のみが返されるようです。 つまり、get_post_meta( get_the_ID(), '_wp_old_date', true );.

を使うだけで、投稿の作成日を簡単に取得することができます。しかし、ここで問題があります。 これを処理するために、_wp_old_dateが空かどうかをチェックし、空であれば、おなじみのget_the_date()に戻ることになります。

  1. WordPressのオプションで管理者が設定した表示形式を維持したいと思うかもしれない。
  2. また、ローカライズされたフォーマットで日付を取得するために date_i18n を使用する必要があります。

コメントを残す

メールアドレスが公開されることはありません。