何か情報を探していると、誰かのブログにたどり着くことは多いと思います。そこに書かれている情報は今も通用するのか、古い情報ではないのか、という点はとても気になりますよね。
そんな時私は、記事の投稿日を見て判断するのですが、もしかしたら最新の情報に更新されているかもしれません。「〇年〇月〇日に追記・変更」とか書かれているとわかりやすいのですが、書いていない場合は投稿日で判断するしかありません。
せっかく記事を最新の情報に変更したのに、読者に伝わらないのはもったいないです。なので、新たに追加したり変更した箇所は明記するようにした方が、記事を読んでくれる人に対して親切です。
といっても、ついつい忘れてしまうことがあるかもしれません。そんな時でも記事の最終更新日を表示するようにしておけば、読者に更新していることが伝わるので記事の信ぴょう性が高まります。
当ブログでも最終更新日を表示したいと思って、調べていたらとてもいい情報があったので紹介したいと思います。
記事に最終更新日を表示させる手順
get_the_modified_date関数を使えば、単純に最終更新日を表示することができますが、予約投稿をした場合公開日よりも最終更新日の方が前になってしまいます。これは矛盾していて、訪問者の混乱を招いてしまいます。
以下の方法で設定すると予約投稿をした場合も最終更新日が公開日よりも前になることはありません。
functions.phpへの追記
利用しているテーマのfunctions.phpに以下を追記しましょう。
function get_mtime($format) {
$mtime = get_the_modified_time('Ymd');
$ptime = get_the_time('Ymd');
if ($ptime > $mtime) {
return get_the_time($format);
} elseif ($ptime === $mtime) {
return null;
} else {
return get_the_modified_time($format);
}
}
※get_the_modified_time()の結果がget_the_time()より古い場合はget_the_time()を返し、同じ場合はnullを返します。それ以外はget_the_modified_time()を返します。
テーマファイルへの実装
続いて、最終更新日を表示したい箇所に以下のコードを記述します。
<?php if ($mtime = get_mtime('Y/m/d')) echo '最終更新日: ', $mtime; ?>
“最終更新日”と”Y/m/d”の部分は、自分のブログに合わせて変更します。
最終更新日を表示してみた
当ブログでも最終更新日を表示してみました。
「Posted on」が公開日、「Last Modified」が最終更新日です。
記事を更新していなかった場合は最終更新日は表示されませんし、予約投稿した場合も更新日は表示されませんでした。ただ、予約投稿をセットした後に記事を更新した場合は、公開日と更新日が同じ日付で表示されます。
あとがき
WordPressブログに最終更新日を表示させたいと思っている方はぜひお試しください。すでに最終更新日を実装している場合でも、予約投稿機能を使っている場合は実装コードを見直してみてはいかがでしょうか。
ブラウザの右クリックから表示される最終更新日は、閲覧した日になりきちんと表示されません。なぜですか?
コメントありがとうございます。
「ブラウザの右クリックから表示される最終更新日」というのがよくわかりませんが(–;)、この方法は WordPress の記事に最終更新日を表示させる方法で、OSやブラウザなどのシステムには影響しません。
なので、ブラウザ側の問題だと思います。