【WordPress】最終更新日から一定期間経過している投稿に「古い情報」であることを自動で表示するコード

公開日:2016年5月30日 使い方など
Knowledge Base Wordpress カスタマイズ

WordPressで記事を書き続けていると、仕方ないこととはいえ、更新せずにそのままになっている投稿があると思います。ただ日記などでは逆に更新してしまうと当時の出来事でなくなってしまうことからあえて更新はしないという方もいると思います。

いずれにしても、いくらページの先頭に公開日や更新日を表示していても、そのページを見る人にとっては「いつ書いたものか」というのをどうしても見落としがちになってしまい、一歩間違うと今は使えない古い情報にアクセスしてしまう方もいるかもしれません。

ただ、作り手にとっては過去の記事なのですからいつまでも振り返って更新する訳にもいかないという事情は閲覧者には伝わりにくいため、訪問した人の捉え方によっては「だまされた」とか「嘘を書いてるサイトだ」などと揶揄されることもあるかもしれません。

これから紹介するコードは、こうしたトラブルを避けるための手法として、
最終更新日から一定期間経過した投稿へアクセスしたときに「古い情報かもしれない」
ことを自動で表示するためのものです。これによってすべての問題がクリアされるわけではありませんが、より親切なサイトを作るためには必要なことだと思います。

また、手動でこの表示を入れる方法をとるとどうしても投稿を更新することになり、ますます古いものなのか新しいものなのか分からなくなってしまいますから、自動で入るようにしておくことが必要です。

このコードは固定ページでも自動表示可能ですが、固定ページは元来何かの一覧を表示したり、あまり変更のないコンテンツを作る際に使うものですから適用すると全部の固定ページが「古い」ということになってしまいかねませんので、必要でなければ投稿のみに使うようにするといいと思います。

情報が古いかもしれないことを自動表示するコード

<?php
	if( get_the_modified_date('Y') <= date('Y') – 1 ) { ?>
	<div class="old-post-message">
		<p ><?php the_modified_date('Y年n月j日'); ?>に更新された情報です。内容が古い可能性がありますのでご注意ください。</p>
	</div>
<?php } ?>
【注意】コードをコピーして使用する前に必ずお読みください

この記事内にコードが記載されている場合、コードはそのままコピー(いわゆるコピペ)してお使いいただいても構いませんが、以下の件にご留意ください。

使用については自己責任でお願いします

コードの確認は私の管理するサイト、またはテスト環境で問題が起こらなかったものですので、お使いの環境での動作等を保証するものではありません。

万が一このコードを使用してサイトに重篤なトラブルが生じても当サイト、当サイト管理者は一切責任を負いません

コードの変換エラーなどにより動作しない場合、更新エラーが出る場合があります

コードをそのままコピーしても問題なく使えるよう文字列変換を行った上で掲載しておりますが、希に変換できていない場合があり、コードエラーとなることがあります

その場合には以下の方法で修正を行ってみてください

  1. コードの中に全角の記号が入っていませんか?
  2. 半角にすることで解消できます
  3. コードの中に全角の空白(スペース)がありませんか?
  4. 半角にすることで解決できます
  5. コードは合っているはずなのに更新できないときは
  6. 特にエラーの出た行内に日本語での文字列が入っている場合には全角での文字列があるということでエラーになる場合があり、Wordpressのエディタチェックではこれを「’」や「)」など閉じ子のエラーとして認識され更新できないことがあります。エラーとして返される行の先頭に空白がある場合には空白をなくすことできちんと認識され更新されるようになることが多いです。
  7. 「何かが間違っています...」と表示され、更新できないときは
  8. このエラーは本当に何がエラーなのかをWordpressのチェックが判断できない場合に発生します。解決策としてはその画面を開き直すことなのですが、その際希に元のコードがすべて削除されてしまう場合がありますので、今表示されているコードを一旦どこかへコピーしてからページの再読み込みをするようにしてやり直します。
    ※このエラーは不明なエラーなので予期せぬ動きをする可能性がありますので特に慎重な対処が必要です
これらのエラー対処については以下のページが参考になるかも知れません

コードを転載する場合には

ご自身のサイトで当ページで紹介しているコードを転載される場合には当ページへのリンクを入れていただきますようお願いいたします

コードの解説

if( ①get_the_modified_date(②'Y') <= date(②'Y') - ③1 )

  • ①で最終更新日からどれだけ過ぎているかを計算(get_the_publish_dateにすれば公開日)
  • ※一度投稿を公開したら2度と更新しないようなサイトであれば「公開日」でいいと思うのですが、何度も書き直すコンテンツが多い場合には更新日にしておかないと、せっかく更新しているのに「古い情報・・・」と表示されてしまうことになります。

    ※更新日基準で古い投稿にメッセージをつけるプラグインは自身がプラグイン検索してテスト導入し、コードを見る限りではありませんでした(全て公開日基準でした)

  • ②で年単位であることを指定(Mにすれば月になります)
  • ③で○年の○の部分を指定(1なら1年、2なら2年)

「に更新された情報です。内容が古い可能性がありますのでご注意ください。」の部分は気に入った文言に変更すればOK

div classが”old-post-message”に指定してありますので、CSSなどでこのセレクタに対してデザイン指定ができます

もちろんpタグの間にfont colorなどのタグを使えば文字色の変更などができます

コードを表示する場所と注意点

コードを表示する場所はタイトル下のなるべく本文先頭に近い場所がいいと思います。

テーマによってしまいますが、タイトル下にウィジェットが使えるようでしたらテキストウィジェットにコードを挿入すれば表示されるようになります。

テーマの単一投稿のテンプレート(通常はsingle.php)の任意の場所へコードを挿入しても表示可能です。固定ページにも適用する場合には固定ページのテンプレート(通常はpage.php)や固定ページ用のカスタムテンプレート、カスタム投稿タイプに適用するにはカスタム投稿タイプ用に作成したテンプレートへ挿入することで適用できます。

1つ注意点としては、コードにより古い投稿であることが挿入された場合にソースがどうなっているかを必ず確認してほしいということです。テーマによっては自動的にページの説明(description)を本文の先頭から抽出するものもあり、この文言が足されることで検索エンジンの評価が変わってしまう可能性があるからです。この設定については使っているSEO関連のプラグインやテーマとの兼ね合いになりますから自身で調整するしかありません。

ウィジェットを利用してコードを挿入する場合、PHPコードはWordpressの標準機能のままだと投稿やウィジェットでは使えないので、「EXEC PHP」などのプラグインを使ってPHPファイルが実行されるようにする必要があります。

本文先頭にコードや固定文を表示する方法がテーマになく、テンプレートを触るのは不慣れという方は「add post url」プラグインを使えば知識なしで本文の先頭や末尾に定型文やコードを表示できるようになります。

WordPressの「Ultimate Member」プラグインでカスタム投稿タイプを使う方法

【WordPress】サイト作者独自のランキングコンテンツ(いわゆるなんちゃってランキング)を実装する方法

今更聞けないホームページ作成のルール(文章などの引用やリンクのマナー)


併せて使いたいテクニック

古い投稿やコンテンツで言葉使いの修正や画像の変更、追記したいことなどがある場合、古い情報のままで修正をしたくても更新日が付加されてしまい、この機能が働かなくなったり更新された新しい情報だと閲覧する方に認識されてしまうことを避けるため、以下のように「更新日」を更新しないコンテンツの更新方法(ちょっとややこしい書き方になってしまいました・・・)を参考にしてみるといいと思います。

ひまあーと(管理人)
  • 記事の作者: ひまあーと(管理人)

  • ☆最後までお読みいただきありがとうございました。記事作者のひまあーとです。
    ☆Wordpressでサイトをカスタマイズしていく上で有用な情報を配信しつつ、「ココナラ」でサイトカスタマイズのお手伝い、不具合の修復、サイト引っ越し代行などをさせていただいております。
    ☆Wordpressネタが多いですが、趣味の「園芸」「卓球」などの情報や日々の出来事などもどんどん増やしていきますのでよろしくお願いいたします。


いつでもご相談・サイトカスタマイズの依頼を受け付けています

Wordpressのカスタマイズ、不具合解消のご相談はすべてココナラのダイレクトメッセージからお受けしております。まずはこちらのバナーからお気軽にお問い合わせください。

※一度もココナラを使ったことがない方はココナラへの無料登録が必要です。こちらから登録後、上のリンクをクリックする、またはココナラトップページから「ひまあーと」を検索してお問い合わせください。


【スポンサーリンク】


記事の拡散にご協力をお願いします

閲覧いただきありがとうございました。役に立つ情報でしたら是非SNSでシェアをお願いします

関連情報