一次 FSE 分页丢失的排查与修复:从纯布局样板到查询循环

图4:调整后的分页效果

从经典到块:主题迁移

从Hueman到Twenty Twenty-Five,主题切换与多语言菜单配置

在 WordPress 2025 主题中,把 Polylang 语言切换器移到右上角的完整记录

WordPress Twenty Twenty-Five 全局宽度布局实操笔记:宽屏全幅+大屏限宽配置方案

实操|WordPress Twenty Twenty-Five 区块主题 Text Blog Home 改造经典两栏首页(双语无损适配)

WordPress Twenty Twenty-Five 两栏首页改造:Text Blog 小图列表模板完整实操记录

分类列表下拉菜单的美化与渲染机制调试实录

修复日历在侧边栏“占不满”的问题:WordPress 2025 主题日历样式优化

为博客首页侧边栏添加多语言「个人品牌」区块

一次 FSE 分页丢失的排查与修复:从纯布局样板到查询循环

本站刚完成 Twenty Twenty-Five 主题的两栏首页改造,参考了之前那篇《WordPress Twenty Twenty-Five 两栏首页改造:Text Blog 小图列表模板完整实操记录》。改造完成后,首页文章列表采用了「小图片和标题」区块样板,布局规整、信息层级清晰。

但紧接着发现了一个问题:首页底部分页消失了。

一、问题现象

改造后的首页,文章列表正常显示,但底部没有页码导航。具体表现为:

  • 首页只显示固定数量的文章,无法翻页查看更早的内容;
  • 分页区块(Pagination)在前端完全不渲染;
  • 中英文双语页面(Polylang)均存在同样的问题。

从下图可以清楚看到,文章列表底部空空如也,没有任何分页控件。

图1:无分页

二、排查过程

第一步:检查区块层级结构

进入 外观 → 编辑器,打开首页模板,在左侧列表视图(大纲)中展开区块层级。

最初的结构是这样的:

📦 栏目(Columns,根目录)
   ├── 📦 栏目(Column,70%宽)
   │   └── 📦 组(Group)
   │       └── 📄 小图片与标题(区块样板)
   └── 📦 栏目(Column,30%宽)
       ├── 🔍 搜索
       ├── 📂 分类列表
       └── 📅 日历

第二步:定位根本原因——样板缺少查询循环

展开「小图片和标题」样板查看内部结构后发现,这个样板本身只是一个纯布局模板——它只包含了文章特色图片、分类目录、文章日期、文章标题、摘要等展示型区块,并没有「查询循环(Query Loop)」和「分页(Pagination)」这两个核心功能组件

也就是说,样板定义了「一篇文章长什么样」,但没有定义「从哪里获取文章列表」以及「如何分页」。

当时的结构大致是这样的(示意):

📦 小图片和标题(区块样板)
   ├── 📄 栏目(两栏)
   │   ├── 🖼️ 文章特色图片
   │   ├── 📂 分类目录
   │   ├── 📝 文章标题
   │   ├── 📅 文章日期
   │   └── 📄 摘要
   └── (没有查询循环,没有分页)

这个样板被放在首页 70% 主栏中后,虽然能显示出文章(因为 WordPress 会默认继承主查询),但因为没有显式的「查询循环」包裹,分页功能无法被激活

三、解决方案

核心操作:在样板内部添加查询循环

在「小图片和标题」样板内部手动添加「查询循环(Query Loop)」区块。

添加查询循环后,它默认自带三个子组件:

  • 文章模板(Post Template) —— 定义每篇文章的展示样式;
  • 分页(Pagination) —— 自动生成页码导航;
  • 无结果(No Results) —— 没有文章时显示的内容。

然后将样板原有的内容区块(文章特色图片、分类目录、文章标题、文章日期、摘要等)全部拖拽进「文章模板」内部,替换掉默认的示例内容。

调整后的正确结构

📦 栏目(Columns,根目录)
   ├── 📦 栏目(Column,70%宽)
   │   └── 📦 小图片和标题(区块样板)
   │       ├── 📄 查询循环(手动添加)  ← 新增,自带分页
   │       │   ├── 📄 文章模板
   │       │   │   ├── 🖼️ 文章特色图片
   │       │   │   ├── 📂 分类目录
   │       │   │   ├── 📝 文章标题
   │       │   │   ├── 📅 文章日期
   │       │   │   └── 📄 摘要
   │       │   ├── 📄 分页(查询循环自带)
   │       │   └── 📄 无结果(查询循环自带)
   └── 📦 栏目(Column,30%宽)
       ├── 🔍 搜索
       ├── 📂 分类列表
       └── 📅 日历
图2:小图片和标题在编辑器中的内部结构

保存模板后,分页立即恢复了。但默认的分页样式比较简单,就是朴素的数字链接。

图3:默认的分页效果

四、分页样式微调

分页恢复后,在编辑器中对分页区块做了几项样式调整:

  • 字体大小:略微放大,提升可读性;
  • 颜色:调整为与站点主题色匹配;
  • 间距:增加了上下内边距,让分页区域与文章列表之间有更清晰的视觉分隔;
  • 显示方式:选择了「数字(Numbers)」样式,清晰展示总页数。

调整后的分页效果虽然算不上华丽,但足够精致、与整体风格协调。

图4:调整后的分页效果

五、总结与经验

这次分页丢失的根因:

「小图片和标题」样板只是一个纯布局模板,不包含查询循环。直接在首页使用它,虽然能显示文章(继承主查询),但分页功能不会自动生效。需要在样板内部手动添加「查询循环」区块——它默认自带分页——然后将内容区块移入「文章模板」中,分页即自动恢复。

这一思路适用于所有基于区块样板的首页改造。无论样板名称是什么、内部包含了哪些展示型区块(文章特色图片、分类目录、文章日期、标题、摘要等),核心检查逻辑都是一样的:

  • 先看样板内部是否有「查询循环」;
  • 如果没有,手动添加「查询循环」;
  • 将样板原有的内容区块全部移入「文章模板」内部;
  • 保留查询循环自带的「分页」和「无结果」子组件。

新旧结构均按此方式调整,分页即可正常工作。

几个值得记住的关键点:

  1. 区块样板 ≠ 查询循环。预设样板可能只包含布局结构,不一定自带数据查询能力。使用样板后如果发现分页缺失,首先要检查样板内部是否有「查询循环」;
  2. 查询循环默认自带分页,添加后不需要再额外插入分页区块;
  3. 分页区块必须在查询循环内部,与文章模板平级(查询循环默认就是这样的结构,不要打乱);
  4. 列表视图(大纲)是排查区块层级问题的最佳工具,比在页面中肉眼拖拽要精准得多;
  5. 每页文章数量可以在查询循环的右侧设置面板中调整「每页项目数(Items per page)」,也可以在 WordPress 后台 设置 → 阅读 中调整「博客页面至多显示」;
  6. Polylang 双语环境下,只要查询循环结构正确,分页会自动适配对应语言的文章总数,无需额外配置。

如果你也在使用 FSE 区块主题,遇到分页不显示的问题,不妨先检查一下:样板内部是否有「查询循环」区块。大概率就是这个原因。

为博客首页侧边栏添加多语言「个人品牌」区块

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理