movable typeで、エントリーの下に「・・・コメント(数字)、トラックバック(数字)」という風に表示される箇所に、24時間以内にコメント(やトラックバック)があったら「new!」とだけ表示させたいのですが、どうすればいいのでしょうか。プラグインなどがあれば教えてほしいです。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2006/07/03 22:11:45
  • 終了:2006/07/05 12:18:53

回答(3件)

id:yoneto164 No.1

ヨネちゃん回答回数813ベストアンサー獲得回数942006/07/04 13:15:10

ポイント43pt

おっしゃっている機能を考えてみたのですが、コメント投稿日時とトラックバック受信日時を取得し、現在時刻と比較する方法では、あまりにも膨大なタグとなってしまいますので、妥協案として、エントリー・アーカイブの最終更新時刻を取得する方法を提案します。


まず、ファイルの拡張子は.phpで書き出すように設定して下さい。

そして、

<MTEntries>と</MTEntries>の間に、

<?php if ((<$MTEntryCommentCount$>+<$MTEntryTrackbackCount$>!=0)&amp;&amp;(date(filemtime(str_replace('<$MTBlogURL$>','','<$MTEntryPermalink$>')))>time()-86400)){echo "<a href=\"<$MTEntryPermalink$>\">new!</a>";}?>

と記述すでば可能です。

http://let.sub.jp/admin/test/

にて実装してみました。

ただし、コメントやトラックバックを受けているエントリーの本文を後日編集した場合にも、編集後24時間はnew!が表示されます。

id:y76ckk

yoneto164さんありがとうございます。イケてると思います。

関連して2つの質問をさせて下さい。

 [1]ファイルをphpで出力するようにするというのは、googleとかで「movabletype php」などのキーワードで検索するとたくさんヒットする、php化というやつでしょうか。私の思いこみかと思いますが、php化すると重くなるイメージがあるのですが、それは正しいでしょうか?

[2]indexを再構築しない限り、一度付いたnew!は取れないわけですよね?

2006/07/04 14:18:29
id:yamiwolf No.2

yamiwolf回答回数201ベストアンサー獲得回数132006/07/04 16:37:12

ポイント27pt

[1]php化すると重くなるイメージがあるのですが、それは正しいでしょうか?

逆です。PHPにすると(必ずとは言えませんが)負荷は軽減します。

http://php.s3.to/tt/tt1.php

[レッツPHP! PHPってナニ?]

ただしNo.1の回答ではページを.htmlから.phpに変更するだけなので、

MT本体はPHP、読者が見るページ(再構築したhtml部分)はphpスプリクトと言うことになります。

[2]indexを再構築しない限り、一度付いたnew!は取れないわけですよね?

コレも違います。phpはユーザーが(ページを)読み出した時点で実行されますので、

管理画面で編集し、最終更新日時が変更になり24時間以内となった場合new!が表示されると言うことです。

id:y76ckk

なるほど、ありがとうございます。

レッツPHPのHPを見て勉強します。

2006/07/05 12:17:38
id:yoneto164 No.3

ヨネちゃん回答回数813ベストアンサー獲得回数942006/07/04 17:51:22

ポイント26pt

[1]MTをPHP化する理由は様々かと思いますので、一概に重くなるとも言い切れません。

今回の場合は、軽く動くように配慮した結果のタグになりますので、これで動作が重くなるということはまず在りえないと思います。

このことは、http://let.sub.jp/admin/test/を見て頂ければ、決して重いものではないと分かって頂けると思います。

[2]スクリプトに関して言いますと「new!」はコメントやトラックバックのあった記事全てに付いています。ただ、24時間を超えると、アクセス時に「new!」が表示されなくなる仕組みであると思って頂ければ分かりやすいでしょうか。

id:y76ckk

わかりやすい説明ありがとうございました!

2006/07/05 12:17:55

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません