2026年9月15日

2026年9月15日

WordPressの「投稿日」ブロックの使い方|日付形式の変更と表示されないときの確認

「投稿日」ブロック(英語名 Post Date)は、ブロックテーマのテンプレートやクエリーループの中で、記事の公開日を表示するためのブロックです。表示形式はサイト全体の設定を使うほか、ブロックごとに独自の形式へ変更できます。この記事では、投稿日ブロックを置く場所、日付形式の変え方、日付が出ない・ずれるといったトラブルの確認方法を説明します。

投稿日ブロックの役割

投稿日ブロックは、「いま表示している投稿」の日付を出力します。テンプレートに置いた時点では特定の日付を持っておらず、ページが表示されるときに対象の投稿の公開日が入ります。クラシックテーマで the_date() や get_the_date() を使っていた部分を、ブロックで置き換えたものと考えると分かりやすいでしょう。

出力される HTML は日付を time 要素で囲む形になっており、機械が読める日付(datetime 属性)も併せて書き出されます。見た目だけでなく、検索エンジンやブラウザが日付を解釈しやすい形になっている点も、手入力で日付を書くより投稿日ブロックを使う利点です。

どこで使うか

単一投稿のテンプレート

個別記事の表示に使うテンプレート(「単一投稿」など)で、タイトルの近くに置くのが典型的な使い方です。サイトエディター(管理画面の「外観」→「エディター」)でテンプレートを開き、ブロックの追加から「投稿日」を検索して挿入します。

固定ページでも使えますが、会社概要や問い合わせページなど日付が意味を持たないページでは、あえて表示しない構成も一般的です。固定ページ用のテンプレートに投稿日ブロックが入っているかどうかは、テーマによって異なります。

クエリーループの投稿テンプレート

記事一覧を作るクエリーループブロックの中の「投稿テンプレート」に置くと、一覧の各記事にそれぞれの公開日が表示されます。トップページ、カテゴリーアーカイブ、検索結果など、一覧系のテンプレートで日付を出したい場合はこちらです。

ここで大事なのは、投稿日ブロックが「どの投稿の日付か」を周囲の文脈から判断している点です。クエリーループの投稿テンプレートの内側に置けば各記事の日付になり、外側に置くと一覧の記事とは関係のない日付になったり、何も表示されなかったりします。

日付形式を変更する

サイト全体の日付形式

投稿日ブロックは、初期状態ではサイト全体の日付形式に従います。サイト全体の形式は管理画面の「設定」→「一般」にある日付形式の項目で変更できます。ここを変えると、投稿日ブロックだけでなく、テーマやプラグインがサイトの形式を使って表示している日付にも影響します。

ブロックごとに形式を変える

特定のテンプレートだけ形式を変えたい場合は、投稿日ブロックを選択し、右側の設定サイドバーで日付形式を指定します。標準の形式をそのまま使うか、用意された候補から選ぶか、独自の形式を入力するかを選べます(2026年10月現在)。画面の表記や配置はバージョンにより異なります。

独自の形式は PHP の日付書式文字で指定します。日本語サイトでよく使う例を挙げます。

  • Y年n月j日:2026年10月17日
  • Y.m.d:2026.10.17
  • Y/m/d H:i:2026/10/17 09:30(時刻つき)
  • n月j日(D):10月17日(土)のように曜日つき(曜日の表記はサイトの言語設定に依存)

n と m、j と d の違いは、先頭にゼロを付けるかどうかです。一覧ページで桁を揃えたい場合は m と d を使うと整って見えます。

リンクやその他の設定

設定サイドバーには、日付を投稿へのリンクにする切り替えもあります。一覧ページで日付をクリックして記事に移動できるようにしたい場合に使います。そのほか、テーマが対応していれば文字サイズ・色・余白などのスタイルも指定できます。

更新日を表示したい場合

記事を定期的に見直しているサイトでは、公開日ではなく最終更新日を見せたいこともあります。投稿日ブロックには、公開日の代わりに最終更新日を表示する設定(または「更新日」として使えるブロックのバリエーション)が用意されています。ただし、置き場所や表記はWordPressのバージョンによって変わってきたため、お使いの環境のブロック設定で確認してください。

なお、更新日を表示する設定にしている場合、公開後に一度も更新していない記事では何も出力されないことがあります。「公開日と更新日を並べたら、一部の記事だけ更新日が空になる」という場合は、この挙動を疑ってください。

よくあるトラブルと確認方法

日付がまったく表示されない

次の順で確認すると原因を絞り込みやすくなります。

  1. そのページで使われているテンプレートに投稿日ブロックが入っているか(サイトエディターのリスト表示で確認)
  2. クエリーループで使う場合、投稿テンプレートの内側に置かれているか
  3. 更新日の表示設定になっていないか
  4. テーマや追加CSSで .wp-block-post-date が非表示にされていないか

4つ目は見落とされがちです。ブラウザの開発者ツールで HTML を確認し、要素は出力されているのに見えないだけなら、原因はCSS側にあります。

時刻が数時間ずれる

日付や時刻がずれる場合、多くは「設定」→「一般」のタイムゾーン設定が原因です。初期状態が UTC のままだと、日本時間と9時間の差が出ます。都市名で「東京」を選ぶと、日本時間で表示されます。設定を変えても過去の投稿の公開日時そのものは書き換わらず、表示の基準が変わるだけです。

テンプレートを直したのに一部のページが変わらない

投稿日ブロックの設定はテンプレートごとに独立しています。単一投稿テンプレートで形式を変えても、アーカイブや検索結果のテンプレートには反映されません。サイト全体で形式を揃えたい場合は、ブロックごとの設定ではなく「設定」→「一般」の日付形式を変えるほうが管理が楽です。また、キャッシュを使っている場合は削除してから確認してください。

まとめ

  • 投稿日ブロックは、表示中の投稿の公開日をテンプレートやクエリーループ内に出力する
  • 初期状態はサイト全体の日付形式に従い、ブロックごとに PHP の日付書式で独自形式へ変更できる
  • クエリーループでは投稿テンプレートの内側に置かないと、各記事の日付にならない
  • 更新日を表示する設定では、未更新の記事で何も出ないことがある
  • 時刻のずれはタイムゾーン設定、形式がページごとに違うのはテンプレートごとの設定差を確認する

お気軽にご相談ください

お見積りへ お問い合わせへ
▲