2014-09-24 29 views
0

我拉我的頭髮出來!以下代碼每2個帖子正確插入一行,並將其作爲類。 HOwever,當有偶數的帖子時,它會在下面顯示一個額外的空格。任何人都可以幫忙嗎?插入div每2個職位沒有空div

謝謝!

<div class="row"> 
    <?php 
    $connected = new WP_Query(array(
    'connected_type' => '2-col-module_to_pages', 
    'connected_items' => get_queried_object(), 
    'nopaging' => true, 
    )); 


if ($connected->have_posts()) : while ($connected->have_posts()) : $connected->the_post(); ?> 
<div class="tile"> 
    <div class="wrapper"> 
    <div class="content"> 
     <h2><?php the_title();?></h2> 
    </div> 
</div> 
</div> 
    <?php $counter++; 
    if ($counter % 2 == 0) { 
     echo '</div><div class="row">'; 
     } 
     endwhile; wp_reset_postdata(); endif; ?> 
</div> 
+0

你需要,當你在最後一個項目輸出到檢測,只輸出新div.row如果有:該解決方案是由WordPress的法典在takeng更多輸出 – 2014-09-24 17:59:35

+0

我該怎麼做? – user2753924 2014-09-24 18:36:41

回答

0

當你讀取最後一篇文章時,你將不會再有任何更多;所以你可以正確的呼應空div之前再問:

$counter++; 
if ($counter % 2 == 0) 
{ 
    if (more_posts()) 
    { 
     echo '<div class="row"></div>'; // It was </div><div class="row"> which always left an open div 
    } 
} 

您可以將more_posts()功能添加到WordPress的functions.php文件。

function more_posts() 
{ 
    global $wp_query; 
    return $wp_query->current_post + 1 < $wp_query->post_count; 
} 

注:http://codex.wordpress.org/Function_Reference/have_posts

+1

謝謝,但這會導致頁面一直連續循環? – user2753924 2014-09-24 18:37:50

+0

不幸的是仍然無法正常工作。正在顯示正確的帖子數量,但最後還是有一個空的div? – user2753924 2014-09-24 19:13:34

+0

捕捉!該代碼被反轉:**

** will always leave a **div** open. I modified the answer to make it: **
** – 2014-09-24 19:25:44