[WordPress]新着の記事を1行ずつ表示してみた

どうもこんにちは!
今回はこのブログのトップページに追加した新着記事を1行ずつ表示するソースを載せてみようかと思います。(ソースが汚いのはご愛嬌♪笑)

▽functions.php
全ての記事の情報を取得して、必要な情報のみ配列に格納して、ulのリスト形式で表示

function wk_article_titles($get_num){
	//記事情報を$get_numの数だけ取得
	$wk_articles = get_posts(array('numberposts'=>$get_num));
	//そのままの配列じゃ表示するのに扱いにくいので各記事情報を表示用の配列にセット
	for($i=0;$i<$get_num;$i++){
		$wk_url[$i] = $wk_articles[$i]->guid;
		$wk_titles[$i] = $wk_articles[$i]->post_title;
		$wk_date[$i] = $wk_articles[$i]->post_date;
	}
	//$get_numの数だけ表示
	print "<ul>n";
	for($j=0;$j<$get_num;$j++){
		print "<li><a href="$wk_url[$j]">$wk_date[$j]:$wk_titles[$j]</a></li>n";
	}
	print "</ul>n";
}

▽index.php
引数に取得したい記事の数を指定

<?php wk_article_titles(5); ?>

このままだと単にリストで表示されるので、以下のようにCSSとjQueryを使って一行ずつ表示するソースを作ってみました。

▽style.css
初期状態で最初の1行のみ表示

div#wk_new_article_titles ul li{
	display:none;
}
div#wk_new_article_titles ul li:first-child{
	display:block;
}

▽js_common.js
一定時間で1行ずつ切り替えて表示

//初期値
var count = 1;

$(function(){
	//5秒ごとに繰り返し実行
	setInterval("wk_recently_article()",5000);	
});

//新着記事の日付・タイトルを一行ずつ表示
function wk_recently_article(){
	//リストの数を取得
	var list_num = $("#wk_new_article_titles ul li").size();
	//リストにtitlesとtitle+連番のクラスを付加
	for(var i=0;i<list_num;i++){
		$("#wk_new_article_titles ul li:eq("+i+")").addClass("title"+i+" titles" );
	}
	//切り替えのためにいったん全非表示
	$('#wk_new_article_titles .titles').hide();
	//表示
	$('.title'+count).fadeIn(800);
	//カウントの値を増やす(リストの最大値になったら初期状態に戻す)
	if(count == list_num){
		$('.title0').fadeIn(800);
		count = 1;
	}else{
		count++;
	}
}

記事情報を取得するのにget_postsを使っていますが、もしかしたらもっと簡単に取得するWPのテンプレタグがあったりするかも?
jQueryの部分ももう少しスマートな方法がある気がする。。。もう少し改良の余地がありそう。

もっと良い方法があるよ!って方がいましたら、是非コメントでツッコミをいれてやってください♪笑