# Paginate
> 返回对给定页面集合分页后得到的分页器。
- 官方英文原文：https://gohugo.io/methods/page/paginate/
- 本页规范地址：https://hugozh.cn/methods/page/paginate/
- 最近更新：2026-10-02
- 最后提交：912b1d3 chore(site): 添加 static/CNAME（hugozh.cn），供 GitHub Pages 等平台绑定自定义域名
- 签名：PAGE.Paginate COLLECTION [N]
- 返回类型：page.Pager
- 站点：Hugo 中文文档（https://hugozh.cn/）· 社区维护的非官方中文翻译，如有出入以官方英文原文为准

---
分页（pagination）是指把一个列表页面拆分成两个或多个分页器（pager），每个分页器包含页面集合的一个子集，以及指向其他分页器的导航链接。

默认情况下，每个分页器上的元素个数由你的[项目配置][]决定，默认值为 `10`。调用 `Paginate` 方法时传入第二个参数（一个整数）即可覆盖该值。

> [!NOTE]
> `Page` 对象上还有一个 `Paginator` 方法，但它既不能过滤也不能排序页面集合。
>
> `Paginate` 方法更加灵活。

你可以在[首页][home]、[section][section]、[分类法][taxonomy]和[术语][term]模板中调用分页。

```go-html-template {file="layouts/section.html"}
{{ $pages := where .Site.RegularPages "Section" "articles" }}
{{ $pages = $pages.ByTitle }}
{{ range (.Paginate $pages 7).Pages }}
  <h2><a href="{{ .RelPermalink }}">{{ .Title }}</a></h2>
{{ end }}
{{ partial "pagination.html" . }}
```

在上例中，我们：

1. 构建一个页面集合
1. 按标题对集合排序
1. 对集合分页，每个分页器含 7 个元素
1. 遍历分页后的页面集合，为每个页面渲染一个链接
1. 调用内嵌的分页模板，在分页器之间创建导航链接

> [!NOTE]
> 请注意，分页结果会被缓存。一旦调用了 `Paginator` 或 `Paginate` 方法，分页后的集合就不可更改。再次调用这些方法不会产生任何效果。

[home]: /templates/types/#home
[project configuration]: /configuration/pagination/
[section]: /templates/types/#section
[taxonomy]: /templates/types/#taxonomy
[term]: /templates/types/#term

