前置き
このブログはWordPressで作っています。WordPressはオープンソースで無償ですし、いろいろなブログにTipsが載っていて、あちらこちらに随分とお世話になっています。何かちょっとしたことでも、WordPressを使う人達に還元できたらいいなと思います。
さて、私にとって、ものを書くには、まず最初に手に馴染むペンが必要です。内容を考えるのはその後です。以前のペンは、ワープロ、つまりWordとExcelでしたが、最近、これにブログが加わりました。WordやExcelはそこそこの努力でそれなりに手に馴染みましたが、ブログを手に馴染ませるには、体感で10倍の労力を必要とします。
ブログを手に馴染ませるとはどういうことかといいますと、プラグインを導入したり、テーマを改造したり、そのためにHTML、CSS、SEO、PHP、サーバー管理などを勉強したり、要するにカスタマイズすることです。
わからないことが多くても、動けばいいやという精神で、かゆいところにもう少しで手が届きそうな時は、手が届くまで試行錯誤しています。
更新日時の必要性
私としては、ブログの各記事には最終の更新日時を是非とも表示したいです。書いた記事を後からちょこちょこと変更しても、自動で更新日時を表示させておけば、少なくとも何か修正したということが明らかになります。
ブログをCMSとして考えた場合、半永久的にネット上に残るのだから、読者としての私は、その記事が何時書かれたものなのかを知りたいのです。
本題
本によれば、ループ内に
<?php echo $post->post_modified; ?>
と書けば更新日時が表示されます。しかし、これでは、表示形式を選べません。
これを解決するプラグインとして、こちらがありました。
最終更新日時を表示出来るWordPressプラグイン「Post Updated」
ただ、できればプラグインをこれ以上増やしたくないし、このプラグインあまりボリュームもないから、自分でなんとかしてみようと思い、書いてみたのが、これです。
<?php if(strtotime($post->post_modified) > strtotime($post->post_date)+10800 ):
echo '<span class="post-calendar">更新' .date('Y.m.d',strtotime($post->post_modified )).'</span>';
endif; ?>
更新日と作成日をタイプスタンプで比較して3時間(10800秒)以上経過していたら、Y.m.d形式で更新日を表示してくれている筈です。アイコン表示のために<span>で囲ってます。
PHPがわかる人から「いいんじゃないの」とか「この辺良くないよ」とか感想をいただけると安心できるのですが。
CreativeCommons Attribution-NonCommercial-NoDerivs License, Mohamed Somji
長谷川 俊樹 2007-12-07 13:57
タグの修正など、内部にあって外部から見えない部分を修正した場合でも、更新とみなされます。
古い日付で記事を最近になって登録して、以後まったく修正しない場合、更新日は表示されません。
揚羽蝶 2007-12-24 04:27
参考にさせていただきました。ありがとうございます^^
またあそびにきます
長谷川 俊樹 2008-01-04 00:21
さっそく使っていただきありがとうございます。トラックバックとコメントに気がつかず、本当に申し訳ありません。承認制は解除しました。初トラックバックゲットです。
投稿日に加えて更新日も表示するけれども、投稿してからすぐに見直しして修正する人が、それを更新にしたくない場合に、役にたちます。
杏仁豆腐 2009-06-28 03:27
WPのテンプレートタグにポストの更新日時を取得する物があるみたいですよ。
テンプレートタグ/the modified date – WordPress Codex 日本語版
最近このページが更新されていたみたいなので、コメントさせて頂きました。
長谷川 俊樹 2009-06-28 22:54
杏仁豆腐さん、コメントありがとうございます。おっしゃるように更新日時を表示するテンプレートタグがありますね。
http://wpdocs.sourceforge.jp/%E3%83%86%E3%83%B3%E3%83%97%E3%83%AC%E3%83%BC%E3%83%88%E3%82%BF%E3%82%B0/the_modified_date
単純に更新日時を表示するだけならこのテンプレートタグを使った方がよさそうです。
さて、今この記事を読み返すと、ちょっと説明不足だった感じがします。
・WordPressの仕組み
記事を最初に公開したときは、更新日時は存在しません。そして、公開してから最初の修正をした時に更新日時が記録され、以後更新の都度、更新日時が書き換えられていきます。
・私のブログの使い方
私の場合は、公開してから何度も加筆訂正を行います。そこで、私の書いたコードでは、公開して3時間以内の修正を、修正と見なさないことにしています。読者が多い有名ブログや論壇ブログだと、ウェブ魚拓を採られて最初に書いたことをこっそり書き換えるな!と文句を言われかねないやり方ですね。
最近この記事を更新したのは、ブログ全記事にサムネイルをつけたからでした。
最終更新日時を表示する « 備忘録 2010-09-06 07:17
[…] WordPressで最終更新日時をプラグインなしにPHPで表示する […]
MOEBiUS 2011-05-25 23:07
参考にさせてもらいました!ありがとうございます
ワードプレス投稿 更新日の表示 - ホームページ制作・SEO対策・ワードプレス導入-Second WEB-セコンドウェブ 大阪 2011-06-21 21:12
[…] 以上。 参考サイト:日付を自由に設定http://t.has.jp/2007/12/updated/ […]