在开发 WordPress 社区类或问答类网站时,我们往往需要为每个用户提供一个“用户中心”,同时也需要为作者页面扩展自定义的子页面,比如“他的关注”、“他的粉丝”等。这篇文章将介绍如何在 WordPress 主题中优雅地添加自定义端点,实现这两个功能,并支持分页。
一、实现目标
/usercenter/edit/
、/usercenter/collect/
等用户中心页面/author/john/collect/
、/author/john/followed/page/2/
等作者子页面- 支持分页参数:如
/usercenter/questions/page/3/
- 每个端点映射到主题内特定的模板文件
- 所有逻辑在 主题 functions.php 或主题包含文件中实现
二、添加自定义 Rewrite 规则
在 functions.php
中添加以下代码:
三、注册自定义 Query Vars
让 WordPress 能识别我们新增的 usercenter
和 author_center
参数:
四、路由对应模板文件
我们可以根据是否存在 usercenter
参数来返回我们自己的模板文件,比如 page-usercenter.php
:
作者端点页如果需要使用不同模板,也可以再写一个类似判断 author_center
的模板判断。
五、定义所有端点类型(配置化)
为了便于扩展和使用,可以将所有用户中心和作者中心支持的“子页”通过配置数组统一管理:
六、生成端点 URL 的方法(用户/作者通用)
我们写一个函数,既支持当前用户中心,也支持指定作者页面端点:
使用例子:
七、记得刷新 Rewrite 规则!
⚠️ 别忘了这一步!否则你的规则不会生效。
方法一:手动方式(开发时)
后台进入「设置 → 固定链接」页面,点击一次“保存”按钮即可刷新。
方法二:自动刷新(建议主题首次启用时加上)
✅ 总结
通过上面的方式,你可以在 WordPress 主题中优雅地实现:
- 用户中心和作者子页面的端点规则
- 支持分页
- 自动模板分发
- 支持前端导航菜单自动生成端点链接
这种结构对于构建社区类、问答类、甚至电商类用户中心都是极好的基础。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
暂无评论内容