2016-01-18 125 views
0

我想在循環中的頁面上最後一次返回的文章之前插入div。我顯示,每頁10帖,並可以很容易做到在上一篇文章中插入div

<?php if ($counter === 9).... 

其中如果頁面顯示10級職位的作品。但是,如果有23個返回的帖子,則最後一個頁面將只顯示3個,如果少於10個則不會顯示。

我可以得到它的最後一篇這樣的後插入:

<?php if (($the_query->current_post +1) == ($the_query->post_count)).... 

但不能讓它插入前的最後一個職位

下面是完整的循環:

<?php 
    $paged = (get_query_var('page')) ? get_query_var('page') : 1; 

    $query_args = array(
     'posts_per_page' => 10, 
     'post_status' => 'publish', 
     'post_type' => 'post', 
     'paged' => $paged, 
     'page' => $paged 
    ); 

    $the_query = new WP_Query($query_args); $counter = 1; ?> 

    <?php if ($the_query->have_posts()) : ?> 
    <!-- the loop --> 
    <?php while ($the_query->have_posts()) : $the_query->the_post(); ?> 
    <div class="entry"> 
     <h2><?php the_title(); ?></h2> 
     <p>Written by: <?php the_author_posts_link(); ?> | <?php the_date(); ?></p> 
     <!-- show thumbnail on first .entry only --> 
     <?php 
      if ($counter === 1) { 
       the_post_thumbnail(); 
     }?> 
     <?php the_excerpt(); ?> 
    </div> 
    <!-- insert ad after 3rd --> 
    <?php if ($counter === 2) { 
     echo '<img src="/wp-content/uploads/2016/01/780x90_1.png">'; 
    }?> 
    <!-- insert before last --> 
    <?php if (($the_query->current_post +1) == ($the_query->post_count)) { 
          echo '<img src="/wp-content/uploads/2016/01/780x90_1.png">'; 
         } ?> 

    <?php $counter++ ; endwhile; ?> 

....

+0

分享您是如何構建顯示每頁10篇文章的作品 –

回答

0

這項工作?

<php? if (($the_query->current_post +1) == (($the_query->postcount)-1))... 

或者先設置一個變量來檢查它是否等於第二個值。

3

$ found_posts變量將返回您擁有的帖子總數。

做對$ the_query-> current_post比較有$ 1。

例減去found_posts:

if (($the_query->current_post) == ($the_query->found_posts - 1)){ 
// Insert div. 
} 
+0

沒有快樂。在最後一篇文章前插入任何內容 –

+0

讓我走上正確的軌道,謝謝。 <?php if(($ the_query-> current_post +1)==($ the_query-> post_count -1)){ –

+0

很高興能爲您提供幫助。 –

0

感謝@Loai,他讓我在正確的軌道上。

<?php if (($the_query->current_post +1) == ($the_query->post_count -1))