我为我的一个页面启用了分页,我正在从中提取最新的新闻文章。 这是代码:
<div class="container white" style="padding:50px 0;"> <div class="container-max">
<?php $paged = ( get_query_var( 'paged' ) ) ? get_query_var( 'paged' ) : '1'; ?>
<?php $args = array( 'numberposts' => 5, 'offset' => 2, 'post_status'=>"publish",'post_type'=>"post",'orderby'=>"post_date",'cat'=>'-8,
-9, -7, -6, -5, -4','paged'=> $paged); $postslist = get_posts( $args ); echo '<div class="latest_new_posts main-news">'; ?>
<?php
$wp_query = new WP_Query('$args'.$paged);
?>
<?php if ( $wp_query->have_posts() ) : ?>
<?php while ( $wp_query->have_posts() ) : the_post(); ?> <?php foreach ($postslist as $post) : setup_postdata($post); ?> <div class="col-lg-12 col-md-12 col-sm-12 col-xs-12" style="position:relative; margin:45px 0;" > <div class="blog-date-news main-news-date"><span><?php the_date('d/m/Y'); ?></span></div> <div class="blog-container main-news-container"> <div class="news-blog-title"><span><?php the_title(); ?></span></div> <div class="news-blog-excerpt"> <?php echo excerpt(500); ?> </div> <div class="news-blog-more main-news-blog-more"><a href="<?php the_permalink(); ?>"> <img src=""/></a></div> </div> </div> <?php endforeach; ?>
<?php endwhile; ?>
正如您所见,我已设置'offset' => 2
,因为前2个帖子不应显示。现在这项工作,但当你转到第二页时,第一页的最后两个帖子再次显示。
例如,我在第1页上有4个帖子:
后A,后B,后C和后D
在第二页上,它将显示:
后C,后D,后E,后F
当你从第二页到第三页时,这不会发生。
有人知道如何解决这个问题吗?