インターネット
 Computer >> コンピューター >  >> ネットワーキング >> インターネット

WordPressで記事の最終更新日を表示する3つの方法

プロ仕様のWordPressテーマを使用している場合、記事には通常、公開日が表示されるようになっています。これは標準的な仕様であり、多くのサイトではそれで十分ですが、定期的に記事を更新しているサイトであれば、訪問者に「最終更新日」を見せるようにすると便利です。特に情報の変化が速い分野のコンテンツでは、その情報がどれほど新しいものなのかを、訪問者がひと目で把握できるようになります。

この機能が特に役立つのがニュースサイトです。ニュース記事は一度公開された後も、新しい情報が入り次第更新されていくため、「この記事がいつ更新されたのか」を表示することで、読者は自分が最新の情報を得ていることを確認できます。

サイトの種類を問わず、公開済みのWordPress記事に「最終更新日」を表示したい場合は、主に3つの方法があります。1つ目は「functions.php」ファイルにコードを追加する方法、2つ目はテーマのファイルを直接編集する方法、3つ目はプラグインを使う方法です。それぞれメリットが異なるため、ここでは各方法の手順を詳しく解説します。

方法1:functions.phpファイルにカスタムコードを追加する

記事に最終更新日を表示する最も確実で恒久的な方法は、以下のコードを「functions.php」ファイル(テーマフォルダ内にあります)に直接追加することです。

注意:functions.phpファイルを編集する前に、必ずバックアップを取ってください。WordPressのコアファイル更新の際にfunctions.phpが上書きされる可能性があるため、変更を加えるときは必ずバックアップを作成しましょう。

function wpb_last_updated_date( $content ) {
    $u_time = get_the_time( 'U' );
    $u_modified_time = get_the_modified_time( 'U' );
    $custom_content = '';
    if ( $u_modified_time >= $u_time + 86400 ) {
       $updated_date = get_the_modified_time( 'F jS, Y' );
       $updated_time = get_the_modified_time( 'h:i a' );
       $custom_content .= '<p class="last-updated">Last updated on ' . $updated_date . ' at ' . $updated_time .'</p>';
     }
    $custom_content .= $content;
    return $custom_content;
}
add_filter( 'the_content', 'wpb_last_updated_date' );

このコードは、記事の公開日と「最終更新日時」を比較し、両者に差異があるかどうかを判定します。日付が異なる場合、記事には「Last updated on」というテキストとともに最終更新日が表示されます。

「最終更新日」表示のスタイルを変更する

表示テキストのデザインをカスタマイズしたい場合は、CSSファイルに.last-updatedクラス用のスタイルを新しく作成します。これは上記コード内で定義されているクラス名です。クラス名は自由に変更できるほか、既存のクラスを段落タグに割り当てて、サイトのテーマに合わせることも可能です。また、「Last updated on」の文言も自由に変更でき、たとえば「この記事は〇〇に更新されました」のような表現に置き換えることもできます。

開発経験のある方なら、特定のカスタマイズにはfunctions.phpが必ずしも最適ではないとご存じかもしれません。しかし、記事に最終更新日を追加するという目的であれば、functions.phpを使うのはまったく問題のない正当な手法です。

方法2:テーマのファイルを直接編集する

次の方法は、テーマのファイルを直接編集するやり方です。編集対象となるのは「index.php」「single.php」「page.php」などで、テーマの構造によっては、個別の投稿に日付を表示している他のファイルも含まれることがあります。

まず、以下のようなコードを探してください。書き方は主に2通りあります。

コード例1:

<?php the_date( 'F jS, Y' ); ?>

コード例2:

<?php get_the_date(); ?>

該当するコードを見つけたら、すべて以下のコードに置き換えます。

Posted: <?php the_time('F jS, Y'); ?> at <?php the_time('g:i a'); ?>, Last Updated on: <?php the_modified_time('F jS, Y'); ?> at <?php the_modified_time('g:i a'); ?>

日本語のサイトであれば、日付フォーマットをPHPの日付書式指定文字に従って変更すると、より自然な表示になります。例えば次のように書き換えることができます。

投稿日: <?php the_time('Y年n月j日'); ?>/ 最終更新日: <?php the_modified_time('Y年n月j日'); ?>

テーマファイル編集時の注意点

WordPressでテーマのファイルを直接編集する場合、テーマを更新するとカスタマイズ内容が失われるリスクがあります。テーマの更新ではCSSファイルやその他のファイルがすべて上書きされるため、この問題を回避する唯一の方法は、子テーマをインストールしてそちらを編集することです。

子テーマに馴染みのない方は、ぜひ学んでおきましょう。特にWordPressテーマのカスタマイズを予定しているなら重要な知識です。子テーマは名前ほど複雑ではなく、作成も難しくありません。子テーマとは、メインテーマの単なる複製ではなく、functions.phpやCSSファイルなどごく少数のコアファイルだけで構成されるもので、WordPressに対して「メインテーマを使用しつつ、子テーマ内のファイルのコードを優先的に適用する」よう指示します。たとえば、メインテーマのCSSで背景色が黒に設定されていても、子テーマのCSSで背景色が青に設定されていれば、子テーマのスタイルが優先され、メインテーマの設定を上書きします。

これにより、テーマを何度更新しても、カスタマイズ内容はそのまま維持されます。

方法3:プラグインを利用する

プラグインを使う方法は、WordPressの投稿に最終更新日を表示する最も手軽な方法です。コードを探したり置き換えたりする必要がありません。ただし、セキュリティリスクを抑えるため、プラグインは常に最新の状態に保つようにしましょう。

他のプラグインと同様、デメリットもあります。一部のプラグインはテーマの機能と競合することがあります。新しいテーマをインストールした際に、最終更新日の表示プラグインが不具合の原因だと判明した場合は、上記の2つの方法のいずれかを試してみてください。

どの方法を選ぶ場合でも、作業前のバックアップが重要です。PHPファイルを編集する前に必ずコピーをダウンロードしておけば、ミスが発生してもすぐに復元できます。PHPは余分な空白1つにも敏感に反応する言語です。どんなに小さな変更であっても、事前にバックアップを取っておくのが賢明です。

  1. WordPressで画像の最大アップロードサイズを制限する方法

    大きくて圧縮されていない画像は、WordPressサイトの表示速度を低下させる主な原因となります。これを防ぐ方法のひとつが、画像の最大アップロードサイズに制限を設けることです。制限をかけることで、ユーザーはアップロード前に画像を圧縮・リサイズするよう自然に促されます。最大アップロードサイズを制限する方法はいくつかありますが、最も手軽なのはプラグインを利用する方法です。 プラグイン選びのポイント この目的に使えるプラグインはいくつか存在します。ただし、長期間更新されていないものも多く、最新のWordPressバージョンで正常に動作するかは保証できません。そのため、筆者はあまりおすすめしていません

  2. WordPress管理画面(wp-admin)がハッキングされたときの対処法と修復手順を徹底解説

    サイト運営者にとって最悪の出来事の一つが、自分のWordPressサイトがハッキングされたことに気づく瞬間です。事前にセキュリティ対策を講じていなければ、攻撃者はWordPress管理画面(wp-admin)への侵入を足がかりに、ファーマハック(医薬品スパム)、フィッシングページ、日本語SEOスパム、リダイレクト型マルウェアなどを仕掛ける可能性があります。 近年は、不正な管理者ユーザーを追加し、サイトにファーマハックを感染させる新しいタイプのwp-adminハッキングも確認されています。この種の被害では、サイトの完全乗っ取り、データ窃取、データベースの改ざん、SEO hijacking(SEO