Wordpress 只有第一个 post 不同的设计

Wordpress only first post different design

我有一个博客(离线制作),我制作了一个 wordpress 循环,它检查第一个 post 它是否使用不同的样式,而其他 post 的其余部分是否使用不同的样式。

问题是:它工作正常但是当我转到下一页(2) 时它再次显示,我只想申请最新的第一个 post。不是每个页面上的第一个 post。

代码:

    <?php 
         while ( have_posts() ) : the_post();?>
             <?php $count++; ?>
                   <?php if ($count == 1 && is_home()) : 

                      //First post different style goes here

                   <?php else : ?>

                      //Rest Other post different style goes here 

            <?php endif; ?>
          <?php
       endwhile;
    ?>

<?php else : ?>

     <article id="post-0" class="post no-results not-found">
           <header class="entry-header">
               <h1 class="entry-title"><?php _e( 'Nothing Found', 'twentyeleven' ); ?></h1>
           </header><!-- .entry-header -->

           <div class="page_content">
                <p><?php _e( 'Apologies, but no results were found for the requested archive. Perhaps searching will help find a related post.', 'twentyeleven' ); ?></p>
                <?php get_search_form(); ?>
           </div><!-- .entry-content -->
      </article><!-- #post-0 -->

<?php endif; ?>

你应该使用get_query_var('paged')。它将return当前页码,从0开始。

所以你应该添加

<?php if ($count == 1 && is_home() && get_query_var('paged') == 0 ) : ?>
    //First post different style goes here
<?php else : ?>
    //Rest Other post different style goes here 
<?php endif; ?>

将此添加到您的 function.php 以更改帖子数量

add_filter( 'pre_get_posts', 'custom_pre_get_posts' );
function custom_pre_get_posts($query) {
    if ( is_home() && get_query_var( 'paged' ) > 0 ) {
        $query->set('posts_per_page', 12);
    }

    return $query;
}