KH-WEBLOG TOP > WEBメモ > WordPress > ループ中の記事数を取得し、N件数ごとに処理:WordPress

ループ中の記事数を取得し、N件数ごとに処理:WordPress

WordPressで記事一覧のループ内で、
N件数ごとに処理を行う場合の方法をメモ。

ループの回数を取得する関数の作成

まず、ループの回数を取得するために
functions.php

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

と記述します。
これで、この関数を呼び出すときは

<?php echo loopCountNum(); ?>

と記述すればOK

指定した件数ごとに処理

後は、指定した件数ごとに処理を実行したい場合、
(例えば5件ごとに処理を実行する場合)

<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
~

等のループ内に、

<?php if ( (loopCountNum() % 5) === 0 ): ?>
5で割り切れる場合の処理をここに記述
<?php else: ?>
5で割り切れない場合の処理をここに記述
<?php endif; ?>

のように記述すればOK

他にも、記事一覧表示時に3列ずつfloat:left等で表示させる時に

<div class="post <?php if(loopCountNum() % 3 === 0){ echo 'right';} ?>">

のように記述すれば
3列目のdivだけにrightというクラスをつける
といった使い方もできるので便利ですよ。

TAGS

.htaccess ActionScript All in one seo pack Contact Form 7 CSS CSS3 EC-CUBE Flash HTML5 JavaScript jQuery LightBox PHP SEO WordPress アイキャッチ画像 アクセス解析 カテゴリー カラーミーショップ カート コメント ショートコード ソースコード タグ テンプレートタグ ドロップダウンメニュー パンくずリスト パーマリンク ビジュアルエディタ フォーム フルスクリーン プラグイン ページテンプレート ページナビ ページ分割 マウスイベント リダイレクト リンク レンタルサーバー ロールオーバー 携帯サイト 条件分岐 正規表現 角丸 関連記事