2016-07-06 130 views
0

我是WordPress新手。在循環內部,我想檢查帖子是否是查詢的第一個結果。使用wp_query檢查第一篇文章

這是我的代碼。

<?php 
    $args = array('post_type' => 'home-slider', 'posts_per_page' => 6, 'order' => 'ASC'); 
    $query = new WP_Query($args); 
    while ($query->have_posts()) : $query->the_post(); 
?> 

<?php if () { ?> // check if first post 
    <p>TEST</p> 
<?php } else { ?> 
    <p>TEST123</p> 
<?php } ?> 

<?php 
    endwhile; 
?> 

在此先感謝。

回答

1

而不是做遞增$ INC值檢查循環內部,可以將其移動到外部並在if()聲明後查詢第一個帖子:

<?php 
    $args = array('post_type' => 'home-slider', 'posts_per_page' => 6, 'order' => 'ASC'); 
    $query = new WP_Query($args); 
?> 

<?php if ($query->have_posts()) : $query->the_post(); ?> 

    <p>TEST</p> 

<?php 
    endif; 
    while ($query->have_posts()) : $query->the_post(); 
?> 

    <p>TEST123</p> 

<?php endwhile; ?> 
1

試試這個代碼 首先定義$inc=1;出方while循環

然後檢查while循環if($inc==1)然後打印你想要什麼,並使用$inc++;

<?php 
    $args = array('post_type' => 'home-slider', 'posts_per_page' => 6, 'order' => 'ASC'); 
    $query = new WP_Query($args);$inc=1; 
    while ($query->have_posts()) : $query->the_post(); 
?> 

<?php if ($inc==1) {$inc++; ?> // check if first post 
    <p>TEST</p> 
<?php } else { ?> 
    <p>TEST123</p> 
<?php } ?> 

<?php 
    endwhile; 
?> 
相關問題