2011年12月17日に投稿

[WordPress]出力ループ中の記事が現在何件目か数値で取得する

WordPressで記事の出力ループを作成するときに今何番目の記事が出力されているかを知りたい時があります。例えば、奇数番目と偶数番目でCSSを変えたい時、3の倍数のときだけCSSを変えたい時などがあります。

現在出力中の記事が何番目に出力されたかは$wp_queryオブジェクトのcurrent_postプロパティを参照すると確認することができます。(数値は0から始まります。)具体的なサンプルコードは下記になります。

出力する記事に連番を付ける

[php]
current_post;
echo ‘ ‘;
echo the_title();
echo ‘
‘;
}
?>
[/php]
このコードを実行すると1行ごとに連番と記事タイトルを表示します。

偶数にはeven、奇数にはoddというクラスを付ける

[php]
current_post + 1) % 2 == 0){
$class = ‘even’;
}else{
$class = ‘odd’;
}
echo ‘

‘ . get_the_title() . ‘

‘ . “\n”;
}
?>
[/php]
このコードを実行するとdivタグのclass属性に、偶数行にはevent、奇数行にはoddというクラスがつきます。$wp_queryは0から始まるため+1をして最初の出力が奇数になるように調整しています。

関連記事

One Response to “[WordPress]出力ループ中の記事が現在何件目か数値で取得する”

  1. […] 参考:[WordPress]出力ループ中の記事が現在何件目か数値で取得する « Codaholic […]

Leave a Reply