PHPでNEWマークを自動ON/OFF
新しいエントリーに「NEW」というマークを出力したい!自分で付けたり外したりするのは面倒ですね。PHPを使って、自動化しましょう。
ビジネスブログなら必要
通常の日記ブログの場合は最新の日付順にリストされる「最近のエントリー一覧」があるので、そんなに不便は感じないかもしれません。
しかし、ビジネスブログとなると、各カテゴリ別に一覧表示したい!という要望も出てきます。当社のホームページも、トップは「ビジネスブログ」「ブログサイト構築」「PHP開発」「ブログSEO対策」「お知らせ」をカテゴライズして最新順に一覧表示しています。
ページが長くなって読みにくくなっても、このNEWマークを付けることによって、どのエントリーが新しいのか目立たせることができます。
PHPでNEWマークを自動ON/OFF
そこで、PHPを使って「今日の日付」と「エントリーした日付」を比較して、自動的にNEWマークを表示することを考えてみましょう。
当社では、こんなPHP関数を使っています。
<?php
function disp_new($d1,$n){
$d3=date( "Ymd", mktime( 0,0,0,date("m") ,date("d")-$n, date("Y") ) );
if($d1>=$d3) print "<img src=\"<$MTBlogURL$>img/new.gif\">";
}
?>
function disp_new($d1,$n){
$d3=date( "Ymd", mktime( 0,0,0,date("m") ,date("d")-$n, date("Y") ) );
if($d1>=$d3) print "<img src=\"<$MTBlogURL$>img/new.gif\">";
}
?>
これは、エントリー日付と、今日から何日前までだったら、という情報を受け取り、該当する場合、NEW画像(
目立つようにアニメーションGIFにしてあります。)を表示するものです。
このPHPで作った関数の使い方は簡単です
NEWマークを表示したい部分(だいたいタイトルの横など)に、次のような1行を追加するだけでOKです。
<?php disp_new("<$MTEntryDate language='en' format='%Y%m%d'$>",3); ?>
この例だと、3を指定してますので、3日経過すると自動的にNEWマークが消えます。
PHPだから、MovableTypeの再構築も必要ない!
PHPなので処理はダイナミックに行なわれます。したがって、MovableTypeの「再構築」は必要ありません。このNEWのON/OFFくらいでいちいち再構築するのは面倒ですよね。