2013-09-26 165 views
1

我有兩列,我希望一個帖子類型均勻分佈到每列。所以,它是由兩個並排側的div,我想:Wordpress循環的偶數/奇數帖子

Div1構成= POST1,Post3,Post5

Div2的= POST2,Post4,Post6

所以基本上得到奇/偶的帖子。不完全確定如何去做。

<?php query_posts('post_type=post-type'); ?> 
<?php if (have_posts()) : ?> 
<?php while (have_posts()) : the_post(); ?> 

<div class="column1"> 
<?php 
    //Get Odd Posts 
?> 
</div> 

<div class="column2"> 
<?php 
    //Get Even Posts 
?> 
</div> 

<?php endwhile; ?> 
<?php else : ?> 
//Something that happens when a post isn’t found. 
<?php endif; ?> 

回答

0

你想使用模運算符是這樣的:

<?php 
$i = 0; 

for ($i = 0; $i <20; $i++){ 
    $class = $i % 2 == 0 ? "even" : "odd"; 
    echo "<div class='" . $class . "'>"; 

    echo "</div>"; 
} 
?> 
+0

上面的代碼會產生這樣的輸出:

直到它寫入20個的div,10與類奇數和10與類甚至。 – PiX06

1

做你想做什麼,首先你要存儲結果的地方(如奇/偶),然後顯示出來。

雖然你應該真的用CSS來定位這些帖子,而不是PHP,因爲它最好還是很黑。

<?php query_posts('post_type=post-type'); ?> 
<?php if (have_posts()) : ?> 
    <?php 
     $i = 0; 

     while (have_posts()) 
     { 
      $key = $i & 1 ? 'odd' : 'even'; 

      $post[$key] = array(get_the_title() => get_the_content()); 

      $i++; 
     } 
    ?> 
    <div class="column1"> 
     <?php foreach ($post['even'] as $title => $content) : ?> 
      <?php echo $title; ?> 
      <?php echo $content; ?> 
     <?php endforeach; ?> 
    </div> 
    <div class="column2"> 
     <?php foreach ($post['odd'] as $title => $content) : ?> 
      <?php echo $title; ?> 
      <?php echo $content; ?> 
     <?php endforeach; ?> 
    </div> 
<?php else : ?> 
    //Something that happens when a post isn’t found. 
<?php endif; ?>