2013-12-18 145 views
0

我需要爲我的wordpress循環中的每個第二項添加一個div。目前我正在使用下面的代碼(哪些工作),但我認爲有一個更好或更乾淨的方式來做到這一點。我將如何更改下面的代碼?任何關於去哪裏看的建議都會很棒,因爲這對我來說似乎很混亂。提前致謝。每隔一個循環顯示div

<?php while (have_posts()) : the_post(); ?> 
<?php    
    $col_select = $data['example_select']; 
    if ($col_select == '2 Col') { 
    get_template_part('/templates/article/content', 'standard'); ?> 
<?php if($wp_query->current_post == '1') { ?> 
    </div><div class="row"> 
<?php } if($wp_query->current_post == '3') { ?> 
    </div><div class="row"> 
<?php } if($wp_query->current_post == '5') { ?> 
    </div><div class="row"> 
<?php } if($wp_query->current_post == '7') { ?> 
    </div><div class="row"> 
<?php } if($wp_query->current_post == '9') { ?> 
    </div><div class="row"> 
<?php } ?> 

回答

4

if($wp_query->current_post % 2 != 0)應該這樣做。

參見:http://php.net/manual/en/language.operators.arithmetic.php

編輯:當然,如果你刪除帖子會破,但是這是基於關閉您當前的代碼。該位在哪裏的循環在哪裏?你可以用櫃檯來做到這一點。

+1

哈哈我只是寫你寫的! –

+1

Brillant。這麼簡單....我會接受,當它讓我傑西卡 – user2966586

0
<?php while (have_posts()) : the_post(); ?> 
    <?php    
     $col_select = $data['example_select']; 
    if ($col_select == '2 Col') 
    { 
     get_template_part('/templates/article/content', 'standard'); ?> 
     <?php if(($wp_query->current_post % 2) == 1) { ?> 
      </div><div class="row"> 
     <?php } ?> 

current_post % 2如果它是奇數,將返回1。

+0

它會返回0而不是1 – ollieread

+1

@ollieread不,它會返回0爲偶數。他是正確的,它將是1的奇數。 – Jessica

+0

不,它不會。奇數除以2的餘數爲1.如果它是偶數,它將返回0,就像下面的傑西卡的替代答案一樣。 – egl

0

您應該儘可能避免打開和關閉<?php ... ?>標籤。這妨礙了能夠讀取你的代碼。其次,如果你想結束你的div每隔一行,然後用一個模測試,像這樣:

<?php 
    while (have_posts()) : the_post(); 
    $col_select = $data['example_select']; 
    if ($col_select == '2 Col') { 
     get_template_part('/templates/article/content', 'standard'); 
     if ($wp_query->current_post % 2 == 1) { 
     echo "</div><div class=\"row\">"; 
     } 
    } 
    endwhile; 
?> 

然而,真正的乾淨的方式做,這是推遲顯示器你呈現這裏的模板。不知道你用什麼get_template_part,這一點很難說你會如何在適當的數據傳遞(這是您的查詢的「接下來的兩個」部分。

1

即使

if($wp_query->current_post % 2) 

那麼做了2%,因爲1 =真,0 =假

+0

雖然如果我們決定向列中扔三樣東西,這會中斷 –

0

模量的做法是正確的,但由於不破,如果$wp_query->current_post選項沒有返回增量數字。

辦最好的事,會創造另一個變量來存儲您循環的次數,如下所示。上述

<?php 
$x = 1; 
while (have_posts()) : the_post(); 
    $col_select = $data['example_select']; 
    if ($col_select == '2 Col') 
    { 
     get_template_part('/templates/article/content', 'standard'); 
     if(($x % 2) == 1) { ?> 
      </div><div class="row"> 
     <?php } 
     $x++; 
    } 
endwhile; 

意味着爲2 Col比賽每一秒的結果你就必須</div><div class="row">輸出。