前置き

このブログは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がわかる人から「いいんじゃないの」とか「この辺良くないよ」とか感想をいただけると安心できるのですが。

Dubai Metropolis
CreativeCommons Attribution-NonCommercial-NoDerivs License, Mohamed Somji

公開2007-12-05 WordPress