WordPressの投稿に「この記事は○年前の記事」かを表示させてみた。

2014年05月29日 正午の月齢:0.7  月名:新月  潮汐:大潮 月齢:0.7[新月] 潮汐:大潮 | 3年前 | 旧暦:2014年05月01日 | 大安
In WordPress | WordPressの投稿に「この記事は○年前の記事」かを表示させてみた。 はコメントを受け付けていません。

この記事を読むのに必要な時間の目安: 3分ぐらい

この記事は2年以上前のものです。情報が古い場合があります。

アクセスログを眺めていると、結構2008年ごろに書いた記事の閲覧が多くて、見ていただいて大変ありがたいのですけど情報が陳腐化している場合がしばしばあります。それを理解してくれていればいいのですが、中には「チクショー、だまされた!!」なんて思う人がいるかも知れないしいないかも知れない。巷にはブログのクセに投稿日が表示されていないことが多々あって、自分自身「何だよコレ、いつの情報だよっ!!(怒)」となってしまいがち。そんなチクショーリスク回避のために古い記事に対して警告が出るようにしようと思ったわけです。

もともと当サイトは投稿日・月齢・潮汐の右に、どれくらい前に投稿したのか表示しています(さらに旧暦・六曜も表示していて無敵モード)。今回さらに警告を出すことで、自己満足度を高めることにしました。参考にしたのは「[作ってみた] 「この記事は○年前の記事です」と表示警告してくれるwordpressプラグイン」。これを元に、プラグインとしてではなく、functions.phpに記述してみましたー。作者自身「正直、functions.phpに書けば済む内容なんですが…」って言ってるし。

functions.phpに追記したのはこんな感じ。

function show_old_alert($content) {
if(!is_single($post)) return $content;

$diff = strtotime(date("Ymd")) - strtotime(get_the_date("Ymd"));
$diff = $diff / 60 / 60 / 24;
if($diff > 365){
$diff = floor($diff / 365);
return "<p class=\"oldalert\">この記事は".$diff."年以上前のものです。情報が古い場合があります。</p>".$content;
}else{
return $content;
}
}
add_action( 'the_content', 'show_old_alert' );

P要素として、クラスを付けています。あとはCSSで化粧直し。

.oldalert {
color: #ff0099;
margin-bottom: 10px;
text-align: center;
}

最初、クラスを付けるときに「class="oldalert"」と書いてハマりました。エスケープを忘れずに「class=\"oldalert\"」と書きましょうネ。

あとちょっと気になる点ですが、

old-alert

潮汐の横には「4年前」となっていて、今回追加した警告は「3年以上前」となっています。どちらも間違っているわけではないのですが、日数の数え方が違うとこんな感じになるっていうことで。

関係あるかも知れない記事

前の記事・次の記事

前の記事
<<
次の記事
>>

コメントはありません

ごめんなさい、コメントフォームは閉鎖しています。