2016-09-22 2 views
0

4つのポストごとにリストアイテムに分割するポストのループがあります。しかし、私は、任意のリスト項目が3未満持っている必要はありませんし、何より4以上がここに私のループではありません:私は10件の記事を持っているもののPHP:配列内の3つをすべてラップして残りの部分を置き換えます。

echo '<li class="match">'; 
    while ($player_query->have_posts()) { 
    $player_query->the_post(); $i3++; $i5++; 

    echo '<span class="team team-' . ($i5 - 1) . '"><span class="team-name">' . get_the_title() . '</span>'; 
    echo $select . '</span>'; 

    if ($i4 === 2 && $count == $i5 && checkNum($count) === TRUE && needBye($count) === TRUE) { 
     echo '</li><li class="match bye">'; 
    } elseif (0 == $i3%$i4 && $count != ($i5 - 1)) { 
     echo '</li><li class="match">'; 
    } else { 
     echo ''; 
    } 
    } 
echo '</li>'; 

例:

<li> 
    Post 1 
    Post 2 
    Post 3 
    Post 4 
</li> 
<li> 
    Post 5 
    Post 6 
    Post 7 
    Post 8 
</li> 
<li> 
    Post 9 
    Post 10 
</li> 

しかし、私が欲しいのは:

<li> 
    Post 1 
    Post 2 
    Post 3 
    Post 10 
</li> 
<li> 
    Post 3 
    Post 4 
    Post 5 
    Post 6 
</li> 
<li> 
    Post 7 
    Post 8 
    Post 9 
</li> 

誰かがこれを行うための手がかりを持っていますか?または、どこで私を指摘することができますか?すべての助けをいただければ幸いです!

+1

PHP関数で 'array_chunk()'を検索してください... –

+0

投稿3がなぜ2回表示されますか? –

+0

さまざまなカウンターが何をしているのかは不明です。配列項目を再グループ化するだけの場合には、これは簡単に答えることができます。 –

答えて

0
// Try Like This 
echo '<li class="match">'; 
$counter = 0; 
while ($player_query->have_posts()): 
$player_query->the_post(); ?> 

<span class="<?= ($counter%3 == 0)?'match':''; ?>"></span> 

<?php $counter +=1; 
endwhile; 
echo '</li>'; 
関連する問題