summaryrefslogtreecommitdiffstats
path: root/docs/content/en/methods/_common/next-prev-on-page-vs-next-prev-on-pages.md
diff options
context:
space:
mode:
Diffstat (limited to 'docs/content/en/methods/_common/next-prev-on-page-vs-next-prev-on-pages.md')
-rw-r--r--docs/content/en/methods/_common/next-prev-on-page-vs-next-prev-on-pages.md37
1 files changed, 37 insertions, 0 deletions
diff --git a/docs/content/en/methods/_common/next-prev-on-page-vs-next-prev-on-pages.md b/docs/content/en/methods/_common/next-prev-on-page-vs-next-prev-on-pages.md
new file mode 100644
index 000000000..4ae3a0f39
--- /dev/null
+++ b/docs/content/en/methods/_common/next-prev-on-page-vs-next-prev-on-pages.md
@@ -0,0 +1,37 @@
+---
+# Do not remove front matter.
+---
+
+The `Next` and `Prev` methods on a `Pages` object are more flexible than the `Next` and `Prev` methods on a `Page` object.
+
+||Page collection|Custom sort order
+:--|:--|:-:
+[`PAGES.Next`] and [`PAGES.Prev`]|locally defined|✔️
+[`PAGE.Next`] and [`PAGE.Prev`]|globally defined|❌
+
+[`PAGES.Next`]: /methods/pages/next
+[`PAGES.Prev`]: /methods/pages/prev
+[`PAGE.Next`]: /methods/page/next
+[`PAGE.Prev`]: /methods/page/prev
+
+locally defined
+: Build the page collection every time you call `PAGES.Next` and `PAGES.Prev`. Navigation between pages is relative to the current page's position within the local collection, independent of the global collection.
+
+With a local collection, the navigation sort order is the same as the collection sort order.
+
+globally defined
+: Build the page collection once, on a list page. Navigation between pages is relative to the current page's position within the global collection.
+
+With a global collection, the navigation sort order is fixed, using Hugo's default sort order. In order of precedence:
+
+1. Page [weight]
+2. Page [date] (descending)
+3. Page [linkTitle], falling back to page [title]
+4. Page file path if the page is backed by a file
+
+For example, with a global collection sorted by title, the navigation sort order will use Hugo's default sort order. This is probably not what you want or expect. For this reason, the `Next` and `Prev` methods on a `Pages` object are generally a better choice.
+
+[date]: /methods/page/date
+[weight]: /methods/page/weight
+[linkTitle]: /methods/page/linktitle
+[title]: /methods/page/title