第13回:最近のエントリーにNEWマークを表示する
第12回では、文字列の長いエントリーをトリミングする方法について説明しました。今回は、最近のエントリーに対してNEWマークを表示する方法について説明します。エントリーを投稿してから、48時間以内の記事にNEWマークを表示し、48時間以上経過後は、自動的にNEWマークが取り除かれるようにします。手動でNEWマークをつけたり、取り除いたりする煩わしさがないので非常に便利です。
この記事は、藤本壱さんの著書、ブログ簡単パワーアップ Movable Type スーパーカスタマイズテクニックを参考に作成しました。ありがとうございました。
以下で説明する方法は、Movable Type がPHP化されていることを前提として説明しています。まだPHP化していない場合は、第1回:Movable TypeのPHP化 を参考にPHP化しておいてください。
まず、管理画面より、「テンプレート」→「テンプレートを新規作成」で新規テンプレートを作成し、以下のようにテンプレート名と出力ファイル名をつけてください。
■テンプレート名:Newマーク
■出力ファイル名:include/print_new.php
■テンプレートの内容:
「テンプレートの内容」には、以下ソースを挿入し「保存」ボタンをクリック、その後、「保存と再構築」ボタンが現れるので、テンプレートを再構築してください。以下、赤文字で「48」と記述されている部分がエントリー投稿後に何時間、NEWマークを表示させるかの設定になります。以下例では、48時間に設定しています。各自、お好きな時間に設定してください。なお、ここではNEWマークの出力に画像(new.gif)を指定していますが、テキスト表示でも構いません。
function print_new($o_date)
{
$o_time = strtotime($o_date);
$now = time();
if($now - $o_time < 48 * 3600) {
print <<< HERE
<img src="<$MTBlogURL$>img/new.gif">
HERE;
}
}
?>
次に、NEWマークを出力したいテンプレートの <head>~</head>の間に以下のソースを挿入し、スクリプトを組み込みます。
そして、実際にNEWマークを表示したい位置に以下のソースを挿入します。ここまで終了したら、テンプレートを再構築し、実際にNEWマークが表示されるかどうか確認してみてください。
なお、同様にしてコメントやトラックバックにもNEWマークを表示することができます。
■コメントにNEWマークを表示する場合
■トラックバックにNEWマークを表示する場合
以上、第13回は終了です。
参考になりましたらポチっとお願いします♪