DAINASHI YESTERDAY

2014.01.29

WordPressのループ回数を取得してクラス名に付加する方法

20140129

ループの中でクラス名が重複してしまって、JavaScriptが正常に動作しないときなどに使える方法です。僕の場合は不動産情報系のサイトで、カスタムポストの中で画像の表示をJavaScriptで処理するときなどによく使います。ループ回数を取得して、任意のクラス名にその回数を数字として付加します。

ループ回数を取得する

ループ回数を取得するため、fanction.phpに下記のソースを追加します。

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

ループ回数を表示する

そして、ループ回数を表示するコード(下記)を、数字を付加したいクラス名の後ろに追加します。

<?php echo loopNumber(); ?>

たとえば「post」というクラス名の後ろにループ回数ごとに数字を「post1、post2、post3、・・・」といった感じで付加する場合は、下記のように書きます。

<div class="post<?php echo loopNumber(); ?>"></div>

まとめ

もちろんクラス名だけでなくidやnameなど他の属性にも付加することができるので、工夫次第でいろいろとやれることがありそうですね。上記のループ回数を表示するコードは、ただ単にループ回数の数字「のみ」を表示するためのものなので、数字が勝手に何かのタグに囲まれていたりとかはありません。ループ回数の数字を入れたい箇所に差し込むだけで大丈夫です。

参考記事

このほかにも、ループ回数を取得してスタイルを変更する方法はあります。以下に僕が参考にさせて頂いたページを紹介します。

[WordPress]出力ループ中の記事が現在何件目か数値で取得する
ループの回数を取得する[WordPress]
ループ中の記事数を取得し、N件数ごとに処理:WordPress

特に一番下の記事は簡潔で、以後の応用もしやすいように解説してくれてます。それでは今日はこのへんで。

投稿者: