今回、Movable Type から WordPress に移行し、過去の投稿の HTML やリンクなどを修正していて、リンク切れになっている情報や、現在は状況が変わっている情報などが多々あることに、改めて気がつきました。
そこで、半年以上経過した記事にはメッセージを表示しようと、個別記事のテンプレートに以下のようなコードを加えました。
<?php if ( time() - strtotime( $posts[0]->post_date_gmt ) > ( 6 * 30 * 24 * 60 * 60 ) ) { ?>
<p class="old-post">※この投稿は半年以上前のものですので、最新の情報とは異なる場合があります。</p>
<?php } ?>
でも、WordPress のことだから何かプラグインがあるかもしれないと探してみたら、あっさりと結構有名っぽい Old Post Notifier というプラグインがありましたので、早速導入しました。
メッセージを表示する基準経過日数、除外するカテゴリ、背景やテキストなどの色、メッセージ本文の設定ができますが、そのままでは日付が “1 year 9 months 20 days” のようになるので、“1 年 9 ヶ月 20 日” という具合にするためには、old-post-notifier.php の194行目、198行目、202行目をそれぞれ編集する必要があります。
if($day == 0)
$day = "";
else
$day = sprintf(__ngettext(" %d 日", " %d 日", $day, 'oldpost'), $day);
if($year == 0)
$year = "";
else
$year = sprintf(__ngettext(" %d 年", " %d 年", $year, 'oldpost'), $year);
if($month == 0)
$month = "";
else
$month = sprintf(__ngettext(" %d ヶ月", " %d ヶ月", $month, 'oldpost'), $month);

設定した日数以前の個別記事ページの本文の先頭にメッセージが表示され、閲覧者が右上の [×] で閉じることもできます。






Recent Comments