
WordPressで投稿日の隣に更新日を表示する方法【プラグイン不要・子テーマ推奨】

WordPressの記事ページで、投稿日の隣に更新日を表示したいと思ったことはありませんか。実はテーマファイルに数行のコードを追加するだけで、プラグインを使わずに実現できます。あわせて、「一度も更新していない記事には更新日を表示しない」という制御を加える方法も紹介します。投稿日と更新日が同じ日付のまま並んでしまう、という見栄えの悪さも解消できます。
編集の前に|必ず子テーマで作業する
これから紹介するのは、テーマのテンプレートファイルを直接編集する方法です。もし利用中のテーマ本体(親テーマ)を直接書き換えてしまうと、テーマのアップデート時に変更内容がすべて上書きされて消えてしまいます。作業を始める前に、必ず子テーマを用意し、子テーマ側のファイルを編集するようにしてください。子テーマの作り方がわからない方は、wordpressのテーマをカスタマイズする前の超簡単な6つの下準備【子テーマ環境を構築】を先に確認しておくと安心です。
投稿日の隣に更新日を表示するコードの書き方
編集するのは、投稿ページの表示を担当する「single.php」というテンプレートファイルです。子テーマのフォルダ内にこのファイルをコピーして、その中身を編集していきます。
まずは、現在「投稿日」を表示している箇所を探します。テンプレートタグの「the_time」または「the_date」を手がかりに検索すると見つけやすいでしょう。
<time><?php the_time( 'Y-m-d' ); ?></time>
例えばこのような記述が見つかったら、まずこの行をそのまま複製(コピー&ペースト)します。
<time><?php the_time( 'Y-m-d' ); ?></time>
<time><?php the_time( 'Y-m-d' ); ?></time>
続いて、複製した側の行にある「the_time」を、最終更新日を取得する「the_modified_date」に書き換えます。
<time><?php the_time( 'Y-m-d' ); ?></time>
<time><?php the_modified_date( 'Y-m-d' ); ?></time>
記述方法はテーマごとに多少異なりますが、もともとあった投稿日表示部分をそのままコピーして関数名だけを書き換える方法であれば、初心者の方でも記述ミスが起こりにくくおすすめです。
更新していない記事には更新日を表示しない設定
このままでは、記事を投稿してから一度も編集していない場合でも、投稿日と更新日に同じ日付が並んで表示されてしまいます。これでは見た目がもったいないので、「投稿日と更新日が異なる場合だけ、更新日を表示する」という条件分岐を追加しましょう。
先ほど追加した更新日のコードを、次のような条件分岐で囲みます。
***ここに投稿日を表示するコードを書きます***
<?php if(get_the_time('Y-m-d') != get_the_modified_date('Y-m-d')):?>
***ここに更新日を表示するコードを書きます***
<?php endif;?>
先ほどの例にあてはめると、最終的なコードは次のようになります。
<time><?php the_time( 'Y-m-d' ); ?></time>
<?php if(get_the_time('Y-m-d') != get_the_modified_date('Y-m-d')):?>
<time><?php the_modified_date( 'Y-m-d' ); ?></time>
<?php endif;?>
投稿日と更新日が同じ日付のまま並んでいても、読者にとっては特に意味のある情報にはなりません。本当に必要な情報だけを表示するように制御しておくことで、見た目もすっきりします。
更新日を表示するメリット
更新日を表示することには、主に2つのメリットがあります。1つ目は、記事の情報がどのくらい新しいのかを読者に正確に伝えられることです。同じテーマの記事が並んでいたとき、多くの人は古い情報よりも新しく更新されている情報を信頼しやすい傾向があります。
2つ目は、検索エンジンに対して「この記事は継続的にメンテナンスされている」と伝えやすくなることです。情報が古いまま放置された記事よりも、定期的に見直され、最新の情報にアップデートされている記事のほうが、読者にとって価値が高いと判断されやすくなります。とくに、情報の正確性や鮮度が重視されやすいジャンルの記事では、更新日を明示しておくことが信頼性のアピールにもつながります。
ブロックテーマ(フルサイト編集)の場合はどうする?
ここまで紹介したのは、single.phpを直接編集する従来型(クラシック)テーマでの方法です。フルサイト編集(FSE)に対応したブロックテーマを使っている場合は、PHPファイルを編集しなくても、サイトエディター上で「投稿日」ブロックを配置し、設定パネルから表示形式を変更することで、更新日を表示できる場合があります。テーマによって設定項目の名称や対応状況は異なるため、お使いのテーマがブロックテーマかどうか、サイトエディターで投稿日の表示設定が用意されているかどうかを、まず確認してみるとよいでしょう。
いずれの方法であっても、プラグインを追加でインストールしなくても投稿日と更新日を併記できる点は共通のメリットです。今回紹介した内容は、PHPの記述に多少触れる必要はありますが、コピー&ペーストを中心に進められる初心者向けの内容です。子テーマの環境さえ整っていれば、ぜひ試してみてください。

