据我所知,如果页面是首页(使用FrontPage.php),那么您将使用get_query_var(\'page\')
对于其他页面,您将使用get_query_var(\'paged\')
. 我对此有一个条件,分页在一定程度上起作用。如果我点击;下一个“;它显示了下一组记录,但在主页上,分页本身没有改变,即:在第2页上,数字2没有突出显示,“上一页”按钮没有像其他页面上那样出现。
if( is_front_page() ) {
$paged = (get_query_var(\'page\')) ? get_query_var(\'page\') : 1;
}else {
$paged = (get_query_var(\'paged\')) ? get_query_var(\'paged\') : 1;
}
$args = array(
\'posts_per_page\' => 12,
\'post_status\' => \'publish\',
\'paged\' => $paged,
);
$all_posts = new WP_Query($args);
<?php while ($all_posts->have_posts() ): $all_posts->the_post(); ?>
display post title, date etc. here
<?php endwhile; wp_reset_postdata();?>
<div class="pagination">
<?php
$big = 999999999;
echo paginate_links(
array(
\'prev_text\' => __( \'Previous\' ),
\'next_text\' => __( \'Next\' ),
\'base\' => str_replace($big, \'%#%\', esc_url( get_pagenum_link( $big ) ) ),
\'format\' => \'?paged=%#%\',
\'current\' => max(
1,
get_query_var(\'paged\')
),
\'total\' => $all_posts->max_num_pages
)
);
?>
</div>
最合适的回答,由SO网友:Sally CJ 整理而成
是的,你是对的,在静态首页上,我们使用get_query_var(\'page\')
获取当前页码。
实际上,这个问题(数字2没有突出显示)因为你使用了get_query_var(\'paged\')
(请注意paged
) 使用current
arg用于paginate_links()
, 这意味着你打错了号码。
\'current\' => max(
1,
get_query_var(\'paged\')
),
所以你需要做的就是用
\'current\' => $paged,
问题就会消失。