PHP を用いて MovableType の新着記事の横に "New!" といったアイコンを表示する方法を紹介します。応用次第で新着記事だけでなく、コメントやトラックバックなどにも新着アイコンを表示することができます。
<?php // New/Hotアイコン function iconNew( $szItemDate ) { $nDivNew = 3 * 24 * 60 * 60; // "NEW" $jst = 9 * 60 * 60; // 日本の時差 $div = time() - strtotime( $szItemDate ) + $jst; if( $div < $nDivNew ) { ?> <img src="/static/icons/new.gif" alt="NEW" title="3 日以内の更新" /> <?php } } ?>
<ul><MTEntries lastn="5"> <li><$MTEntryTitle$><?php iconNew( "<$MTEntryDate format="%Y-%m-%d %H:%M:%SZ"$>" ); ?></li> </MTEntries></ul>
ポイントは日付の表示フォーマットを "%Y-%m-%d %H:%M:%SZ"
とすることで、PHP の strtotime
関数が直接その値を処理できるようにしてしる点です。エントリの他にも日付を出力できるものであればコメントやトラックバックなども同様にしてアイコンを表示することができます。お試しあれ。
寄せられたコメント (全 5 件中、最新 5 件まで表示しています)
$nDivNew = 1 * 24 * 60 * 60; としてみてください。
New!の表示w24時間以内に変更させたい場合どうこを変更すればいいでしょうか?
カテゴリ一覧でカテゴリ毎に新着記事があるかアイコン表示する
http://www.magicvox.net/archive/2008/10111720/
いつも参考にさせて頂いております。
こちらのNewアイコンをつけるについて質問なのですが、
例えばサブカテゴリーにつけたい場合、
テンプレートのどの部分に入れれば宜しいですか?
初歩的な質問で申し訳ございません。
MovableType初心者なもので・・・。
ご回答よろしくお願い致します。