WordPress的帖子页面-循环不显示最新帖子

时间:2019-04-03 12:00:13

标签: php wordpress loops posts

我对php比较陌生。

我的Wordpress帖子页面有一个循环-帖子必须在左右对齐之间交替。

我通过为每个帖子分配一个偶数或奇数类来完成此工作,但是现在最新帖子不再显示在帖子页面上。

例如,如果我说5个帖子,将显示4个帖子,最新的帖子将保持隐藏,直到我发布新帖子为止-之前隐藏的帖子将与其他帖子一起加入,而新的“最新帖子”将保持隐藏。

我无法弄清楚为什么循环跳过了第一篇文章,我已经尝试添加rewind_posts();。但是,这造成了同一条帖子的无限循环。

非常感谢您的帮助!

<?php 
$postcount=1;
while(have_posts()) :        
    if( ($postcount % 2) == 0 ) $post_class = ' even';
    else $post_class = ' odd'; 

    ?>

 <div class="row">
 <div id="stories-box-alt" class="stories-column-circle-main" 
 style="background-color:transparent;">
 <div id="circle-shape" class="post <?php echo $post_class; ?>">            
 <?php the_post(); ?>


 <img src="<?php the_field('post_preview_image'); ?>" class="curve">    

 <h2><?php the_title(); ?></h2>

 <h3><span class="featured-title"><?php the_field('post_category'); ?> . 
 </span></h3>

 <p><?php the_field('post_preview'); ?><br><a href="<?php the_permalink(); 
 ?>">read more...</a></p>

 </div>
 </div>           
 </div>
 <?php $postcount++;
        endwhile; ?>

3 个答案:

答案 0 :(得分:0)

请先尝试使用the_post()

<?php 
    $postcount=1;
    while(have_posts()) :  
    the_post();      
        if( ($postcount % 2) == 0 ) $post_class = ' even';
        else $post_class = ' odd'; 

        ?>

     <div class="row">
     <div id="stories-box-alt" class="stories-column-circle-main" 
     style="background-color:transparent;">
     <div id="circle-shape" class="post <?php echo $post_class; ?>">            


     <img src="<?php the_field('post_preview_image'); ?>" class="curve">    

     <h2><?php the_title(); ?></h2>

     <h3><span class="featured-title"><?php the_field('post_category'); ?> . 
     </span></h3>

     <p><?php the_field('post_preview'); ?><br><a href="<?php the_permalink(); 
     ?>">read more...</a></p>

     </div>
     </div>           
     </div>
     <?php $postcount++;
            endwhile; ?>

答案 1 :(得分:0)

基本上,wordpress中有一个基本循环来完成您想做的事情:https://wpchannel.com/wordpress/tutoriels-wordpress/afficher-articles-recents-site-wordpress/

您可以使用自己的属性修改此属性,但这通常是循环使用的。

答案 2 :(得分:0)

<?php 
$postcount=1;
while(have_posts()) :        

    ?>

 <div class="row">
 <div id="stories-box-alt" class="stories-column-circle-main" 
 style="background-color:transparent;">
 <div id="circle-shape" class="post <?php if(($postcount % 2) == 0){  ?> even <?php } else{ echo " odd"; }?>">            
 <?php the_post(); ?>


 <img src="<?php the_field('post_preview_image'); ?>" class="curve">    

 <h2><?php the_title(); ?></h2>

 <h3><span class="featured-title"><?php the_field('post_category'); ?> . 
 </span></h3>

 <p><?php the_field('post_preview'); ?><br><a href="<?php the_permalink(); 
 ?>">read more...</a></p>

 </div>
 </div>           
 </div>
 <?php $postcount++;
        endwhile; ?>

OR

<?php echo $postcount % 2 == 0 ? ' even ': ' odd '; ?>