WordPressの記事ループの中で、ループした回数を取得する

Wordpressの記事ループの中で、最初や最後の記事とかを判別する - kanonjiの日記 で質問を頂きました。
どうやらコメントでは、はてな記法が使えないようなので折角なので記事として書きます。

環境

Wordpressの記事ループの中で、最初や最後の記事とかを判別する - kanonjiの日記 と同様に WordPress 2.9.1。
まぁ、あんまり古くないバージョンなら動くと思います。
WordPress 3.0 が出てる様ですが、まだ3.0系は使ってないので動くか分かりません。
global $wp_query に WP_Query が代入されてて、WP_Query の構造が変わってなければ動くと思いますが。

コード

<?php
function getLoopIndex(){
    global $wp_query;
    return $wp_query->current_post;
}

function getLoopCount(){
    global $wp_query;
    return $wp_query->current_post+1;
}

Wordpressでは、テンプレートで while(have_post()) でループして、記事を取得し表示します。
テンプレートと言っても、html に素の php を書いてるだけの仕組みなので、テンプレートでちょこっとphpコードを書けば済むんですが、やっぱりファンクションにまとまってるほうがきれいなので、関数化します。

getLoopIndex() 最初の記事を0として数えます。
getLoopCount() 最初の記事を1として数えます。


プログラマーとしては0から数える方が馴染み深いと言う事で getLoopIndex() を作ったけど、0から数えるのに違和感がある人は getLoopCount() をどうぞ。
やってることは、見ての通りたいした事じゃないです。
ちなみに、元から WordPress に備わっているテンプレートタグに the_ID() があるけど、これはデータベースにある記事Id。
記事毎に違う Id が割り当てられてるので、html Document内で重複しない id として使えるけど、連番にはならないのでちょっと違います。


なお、導入はお使いのテーマの functions.php がお勧めです。
ループ中に使用出来るとか、導入の詳細は Wordpressの記事ループの中で、最初や最後の記事とかを判別する - kanonjiの日記 の中ほどの「注意とか」を見てください。