WordPress にランダムな過去記事リストを追加する方法



WordPress

ここのところ、急速に浸透度が深まっているように思われるブログソフト、WordPress。私も、自身の運営するサイトの一部で利用している。
で、そちらのサイトの特性上、最近の記事だけではなくて、過去記事も最近の投稿記事と同等に意味があって、出来れば、サイトを訪問していた代田方に、過去記事も読んでいただきたいなとつくづく思っていたわけです。


ランダム

ということで、いろいろと考えるのだけれども、最も単純な方法が、過去記事の中からランダムに取りだした数件の記事を、最近の投稿記事と同じようなイメージで、サイドにリストとしてリンクを表示してみるかというところ。
あとは、ランダムに記事のリンクを作るのにどうしたらいいかを、WordPressの関数を眺めながら考えて、作ってみるのみ。


get_posts関数

で、使えそうなのが、get_posts 関数。文字通り、投稿記事を取得する関数で、オプションの設定に従って、過去の記事の情報を取得することが出来る。、そのオプションの一つに 'orderby' があって、記事の並び順を定義するのだけれども、これに、'rand' を定義することが出来て、'orderby=rand'とすると記事の並びがランダムになるというところ。で、さらに、記事の始まりや、記事数の設定として、'offset=0&numberposts=5'なんかを同時に設定しておけば、過去記事からランダムに並べた記事ポストの最初(0)から5件が取得されることになる。ちなみに、'offset=0&numberposts=-1'にすれば、過去記事全てをランダムに並べることが出来て、もし、除外したい記事があれば、'exclude=過去記事ID(複数ある場合はカンマ区切り)'であとは、これによって取得できた記事リストをHTML に仕上げていけばいい。
つまり、こんな感じ。

$posts = get_posts('offset=0&numberposts=5&orderby=rand');
echo '<ul>'."\n";
foreach( $posts as $post ){
 echo '<li >'."\n";
 echo '<a href="'.get_permalink($post->ID).'" >'.$post->post_title.'</a>'."\n";
 echo '</li>'."\n";
}
echo '</ul>'."\n";



ということで、意外と簡単にできてしまいます。


プラグイン

で、まぁ、折角作ったので、プラグインにしてしまおうと思ったのですが、このままだとあまりにも単純すぎて寂しいので、ある年月日以降の記事だけを対象にしたい場合への対応なども出来るようにした関数として仕上げてみたのが、'rpl_random_lists()'。
あと、Feeling Lucky! 機能として、ランダムに取り出したある一つの記事を記事タイトルではなく任意の文字列によるリンクとして出力するという関数も作ってみた。詳しくは、こちらにまとめているけれども、例えば以下みたいな感じに使える。

//"2006-01-01"以降の記事から、5件の記事をランダムに取り出して、
//リスト形式で出力する。
rpl_random_lists( 5 , "" , "2006/01/01" , true , true );
//なお、3こ目のオプションの日付リミットstrtotime関数で読み取るので、"-6 months" なども利用可能です。

//"2006-01-01"以降の記事からランダムに取り出したある1件の記事を
//<a href="記事へのパーマリンク">feeling lucky!</a> というリンク形式で出力する。
rpl_feelinig_lucky( "feeling lucky!" , "" , "2006/01/01" , true );



で、サイトに実際に設置している例はこちらです。
なお、プラグインは、プラグインサイトに"random post list" として登録しているので、この名前で検索していただくか、登録ユーザーとして、 "rogi073" で登録しているので、ユーザー名で検索するかすれば、見つかります。


関連リンク:
WordPress › Blog Tool and Publishing Platform
dLINKbRING.Labo.WordPress Ramdom Post List
困惑する感情 | Rogi073.Text
関連サーチ:
WordPress(AMAZON.co.jp)
WordPress(Google)
WordPress(Technorati.jp)
WordPress(flickr)
Powered BY AmazoRogi

いま一番わかりやすい WordPress日本語版でブログサイト構築入門
発売日 : 2008-09-29 (大型本)
売上ランク : 31240 位 (AMAZON.co.jp)
¥ 2,415 在庫あり。
評価平均 : /1人
初心者にわかりやすい
Powered BY AmazoRogi Data as of 2009-02-28
See detail & latest visit AMAZON.co.jp