【WordPress】カスタム投稿タイプのループ回数を取得してクラス名に付与するメモメモ

ループでランキングを表示する際に、「1位」「2位」「3位」でスタイルを変えたかったので、上から順番に番号が付くように以下のコードをfanction.phpに追加しました。

//ループ回数を取得
function loopNumber(){
global $wp_query;
return $wp_query->current_post+1;
}

んで、出力したい箇所に

<?php echo loopNumber(); ?>

すると、出力されるのは全て「0」。

あれ?

そりゃそうだ。「wp_query」だもん。
通常の投稿を取得しているので結果は「0」

カスタム投稿のループを指定するために以下のコードに変更。

//ループ回数を取得
function loopNumber(){
  $args = array(
        'post_type' => 'ranking' //←カスタム投稿タイプ名ね
    );
$customPosts = get_posts($args);
global $customPosts;
return $customPosts->current_post++;
}

として、出力したい箇所に同じくこちらを。

<?php echo loopNumber(); ?>

これで無事ループ毎に「1、2、3、・・・」とclassが付与されました。

シェアしていただけますと嬉しいです! 

« »