wordpress 分页
温馨提示:本文最后更新于2025年8月6日 12:30,若内容或图片失效,请在下方留言或联系博主。
WordPress 分页用于将文章列表、搜索结果或分类页面等内容分成多个页面显示,以提升用户体验和加载速度。分页功能主要通过 paginate_links() 函数实现,同时也可以使用 WordPress 提供的默认分页函数如 previous_posts_link() 和 next_posts_link()。
1. 使用 paginate_links() 函数
paginate_links() 是 WordPress 中最常用的分页函数,它返回一个包含所有分页链接的 HTML 字符串。该函数通常与查询对象(如 $wp_query)一起使用,适用于自定义查询或主循环。
示例代码:
<?php
global $wp_query;
$big = 999999999; // 避免数字冲突
echo paginate_links( array(
'base' => str_replace( $big, '%#%', esc_url( get_pagenum_link( $big ) ) ),
'format' => '?paged=%#%',
'current' => max( 1, get_query_var('paged') ),
'total' => $wp_query->max_num_pages,
'prev_text' => __('« Previous'),
'next_text' => __('Next »'),
) );
?>
- base:指定分页链接的基础 URL。
- format:分页参数格式。
- current:当前页码。
- total:总页数。
- prev_text / next_text:上一页和下一页的文本。
2. 使用 previous_posts_link() 和 next_posts_link()
这两个函数分别用于输出“上一页”和“下一页”的链接,适用于简单分页场景。
示例代码:
<?php if ( function_exists('wp_pagenavi') ) { wp_pagenavi(); } else { ?>
<div class="navigation">
<div class="alignleft"><?php next_posts_link('« Older Entries') ?></div>
<div class="alignright"><?php previous_posts_link('Newer Entries »') ?></div>
</div>
<?php } ?>
next_posts_link()输出“下一页”链接。previous_posts_link()输出“上一页”链接。
3. 自定义分页样式
可以通过修改 CSS 或使用插件(如 WP PageNavi)来美化分页导航。
4. 在自定义查询中使用分页
如果你使用的是自定义查询(如 WP_Query),可以使用 paginate_links() 来获取分页链接,并确保查询中设置了 paged 参数。
示例代码:
$args = array(
'post_type' => 'post',
'posts_per_page' => 5,
'paged' => get_query_var('paged') ? get_query_var('paged') : 1
);
$query = new WP_Query( $args );
if ( $query->have_posts() ) {
while ( $query->have_posts() ) {
$query->the_post();
// 显示文章内容
}
}
// 输出分页链接
global $wp_query;
$big = 999999999;
echo paginate_links( array(
'base' => str_replace( $big, '%#%', esc_url( get_pagenum_link( $big ) ) ),
'format' => '?paged=%#%',
'current' => max( 1, get_query_var('paged') ),
'total' => $query->max_num_pages,
) );
5. 注意事项
- 确保在查询中设置
paged参数。 - 如果使用
WP_Query,需要将max_num_pages设置为查询对象的max_num_pages属性。 - 可以通过修改主题中的
index.php、archive.php或search.php文件来添加分页导航。 - 使用
get_query_var('paged')获取当前页码,避免出错。
以上是 WordPress 分页的详细介绍。






