WordPress中可以使用内置函数paginate_links()
来进行页面分页操作。该函数可以生成页面链接,使用户可以通过链接切换到不同的页面。
示例代码:
<?php
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
$args = array(
'post_type' => 'post',
'posts_per_page' => 10,
'paged' => $paged
);
$custom_query = new WP_Query($args);
if ($custom_query->have_posts()) :
while ($custom_query->have_posts()) : $custom_query->the_post();
//对文章进行渲染
endwhile;
$big = 999999999; // 需要一个非常big的数字
echo '<div class="pagination">';
echo paginate_links(array(
'base' => str_replace($big, '%#%', esc_url(get_pagenum_link($big))),
'format' => '?paged=%#%',
'current' => max(1, get_query_var('paged')),
'total' => $custom_query->max_num_pages
));
echo '</div>';
endif;
wp_reset_postdata();
?>
其中,$args
数组中设置了每页显示10篇文章,并且通过paged
参数指定当前页码。使用WP_Query
函数查询文章,然后通过循环渲染每篇文章。
paginate_links()
函数接受一个关联数组作为参数,该数组包含一些用于生成分页链接的设置。base
是链接URL中的基础部分,可以使用str_replace()
函数将非常大的数字替换成%#%
来获取当前页码。format
参数设置链接的形式,current
参数设置当前页码,total
参数设置总页数。
最后,通过wp_reset_postdata()
函数重置文章数据。使用类似上述代码的方式,即可在WordPress中对页面进行分页操作。