« ホリエモンを持ち上げていたのはどこの誰?(BlogPet) | メイン | 「ハイジ」のCM »

Ramdom Entry Pickup

PHPを用いたエントリー・ランダムピックアップ Ver 1.00


[PR] 「ほったらかしアフィリエイト実践会」わずか108円であなたに代わって優秀なライターが、毎日3本の最新アフィリエイト記事を書いてくれる!

Category : [ Linux, MovableType, PHP ]
February 28, 2006 14:42
TAG : [Blog,Entry,MovableType,Ramdom,Template]





ブログを続けていくと、どんどんエントリーが増えてきます。

このブログも、これを書いている時点で、
800エントリー超えております

せっかくのすばらしいエントリーでも、
「2年前」とかのエントリーだと、
なかなか「日の目を見る」のも困難になってきます(^^;)


そこで、さまざまなブログで、

「エントリーのランダムピックアップ」

というのが公開されていますが、
ここでは、せっかくなので「PHP」で作ってみることにしました。

ちなみに、トップページに表示しているのが、それです。


それでは、作成方法を。

まず、
すべてのエントリーリストを出力する「テンプレート」を作成します。


テンプレート名・・・「all-entries-rare」(任意)
出力ファイル名・・・「all-entries-rare.php」(任意)
テンプレート内容

<MTSubCategories><MTEntriesWithSubCategories> <a href="<$MTEntryPermalink$>"><$MTEntryTitle$> <span id="pickup-date">(<$MTEntryDate format="%Y年%m月%d日"$>)</span></a> </MTEntriesWithSubCategories></MTSubCategories>


ちなみにこのテンプレートは、
1週間に1回程度でリビルドすればいいかと思います。

あくまで過去からのピックアップですから(^^;)

↓こちらを参考にしてください(^^;)
Project MultiBurst:cronでMovableTypeを定期的に再構築


次に、
「ランダムピックアップ」を表示するテンプレートを作成します。

テンプレート名・・・「エントリー・ランダムピックアップ」(任意)
出力ファイル名・・・「ramdom-entry-pickup.php」(任意)
テンプレート内容

<?php $entries = file("all-entries-rare.php"); $cnt = count($entries) -1; srand( (double)microtime()*1000000 );

echo "<div class=\"pickup\">\n";
echo "<ul>\n";
for ( $i = 0; $i < 4; $i++) {
$num=round( rand(0,$cnt) );
echo "<li>" . $entries[$num] . "</li>\n";
}
echo "</ul>\n";
echo "</div>";
?>

青文字表示件数ですので、適宜変更してください。


そして、
表示するメインページ等のテンプレートに挿入します。

<? include("<$MTBlogURL$>ramdom-entry-pickup.php"); ?>


これで完成です!




ソーシャルブックマーク

「del.icio.us」にブックマーク|このエントリーの「del.icio.us」での登録状況|はてなブックマーク|はてなブックマーク|テクノラティ・リンク検索結果|Technorati|BlogPeople Instant Bookmark|BlogPeople Tags|ドリコムRSS|ニフティクリップ|livedoorクリップ|livedoorクリップ|ECナビに登録|add-fc2.gif|FC2ブックマークでの登録状況

このエントリーと関連性が高いと思われるエントリー


このエントリーに関連するかもしれない商品


おすすめ商品


Link Information

Link HTML:

トラックバックURL:

コメントする