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;
}
我有一个博客(离线制作),我制作了一个 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;
}