Wordpress只发布不同的设计

时间:2016-11-21 12:06:15

标签: html wordpress loops post content-management-system

我有一个博客(离线制作),我有一个wordpress循环它检查是否第一个帖子它使用不同的风格和其他帖子使用不同。

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

代码:

    <?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; ?>

1 个答案:

答案 0 :(得分:2)

您应该使用get_query_var('paged')。它将返回当前页码,从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;
}