「最新のエントリー」やその「カテゴリー」に新着の表示を付けようというものですが、「最新のエントリー」にはすでに日付をつけてあるので、エントリーが埋もれてしまう「カテゴリー」のほうだけに、新着記事に「New!」を付ける作業です。
そこで小粋空間さんの記事を参考にしてウィジットテンプレートの「カテゴリーアーカイブ」にコードを追加します。
<li class="widget-list-item"><a href="<$mt:CategoryArchiveLink$>"<mt:IfNonEmpty tag="mt:CategoryDescription">title="<$mt:CategoryDescription$>"
</mt:IfNonEmpty>><$mt:CategoryLabel$> (<$mt:CategoryCount$>)</a><!-- このあとに追加 -->
<span class="new"><MTEntries lastn="1"><$MTEntryDate format="%Y:%m:%d:%H:%M:%S"$></MTEntries></span>
さらにタグの外にjavascriptを追加します。
<script type="text/javascript">
<!--
// 新着表示の時間
var pass = 24;
// 新着表示の内容
var content = 'New!';
var currentDate = new Date();
var spans = document.getElementsByTagName('span');
for (i = 0; i < spans.length; i++) {
if(spans[i].getAttribute('class') == 'new' ||
spans[i].getAttribute('className') == 'new') {
time = spans[i].childNodes[0].nodeValue.split(":");
var entryDate = new Date(time[0], time[1]-1, time[2], time[3], time[4], time[5]);
var now = (entryDate.getTime() - currentDate.getTime())/(60*60*1000);
now = Math.ceil(now);
if(-now <= pass){
spans[i].innerHTML = content;
spans[i].style.display = 'inline';
}
}
}
//-->
</script>
新着表示の時間(赤色部分)は24時間だと
// 新着表示の時間:単位は時間
var pass = 24;
新着表示の内容(赤色部分)は
// 新着表示の内容var content = 'New!';
画像を張る場合は
var content = '<img src="*** />';

新着エントリーのあるカテゴリーに「New」をつける
コメントする