Страница сообщений Wordpress - цикл не показывает последнее сообщение - PullRequest
0 голосов
/ 03 апреля 2019

Я относительно новичок в 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 голосов
/ 03 апреля 2019

В WordPress есть базовый цикл для создания того, что вы хотите сделать: https://wpchannel.com/wordpress/tutoriels-wordpress/afficher-articles-recents-site-wordpress/

Вы можете изменить это с вашими собственными свойствами, но это обычно используется цикл.

0 голосов
/ 03 апреля 2019
<?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 '; ?>
0 голосов
/ 03 апреля 2019

Пожалуйста, попробуйте сначала использовать 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; ?>
...