WordPress 官方推出 Presence API 插件:实现多人在线状态与编辑感知,为将来协作功能铺路
WordPress 核心团队正式推出实验性功能插件 Presence API,用于在后台实现全局在线状态感知,谁正在登录、在哪个管理页面、正在编辑哪篇文章,从底层解决多人后台操作冲突、编辑互斥不透明的问题。
简单来说,这是一套实现面向后台多人协作的原生在线状态接口的底层插件,为古腾堡编辑器实时协同、团队协作等下一代功能打好底层基础。
熟悉 WordPress 动态的朋友应该知道,不久前官方刚刚宣布:
WordPress 7.0 正式版延期发布,核心原因就是为了深度打磨实时协作功能,优化数据库存储方案,避免留下技术债,确保多人协作稳定可靠。
而 Presence API 正是为这一目标服务的关键组件。
该插件已经在 Github 上开源:WordPress/presence-api,由 WordPress 核心团队直接维护,由核心团队长期维护,属于官方前瞻性技术试验,后续纳入核心功能的潜力很大。
Presence API 插件解决的核心问题
多人运维、多作者投稿的站点,长期存在一个痛点:无法直观看到谁登录了 WordPress 后台,谁正在查看或编辑哪篇内容。
文章列表不显示谁正在编辑,打开文章后才发现他人正在修改,极易造成内容覆盖、重复编辑,影响协作效率。
Presence API 正是为解决这类场景而生,目前以功能插件形式先行测试,未来有望逐步并入 WordPress 核心。
核心实用功能
1. 全局在线用户展示
后台顶部栏、仪表盘组件,会以头像聚合形式,实时显示当前在线的后台用户。同时新增用户列表在线筛选,快速区分在岗 / 离线成员。
2. 实时编辑占用提醒
文章管理列表新增编辑状态列,提前标注正在编辑的用户。搭配原生编辑锁定(edit_lock)机制,从源头避免多人同时改写同一篇内容。同时所有功能基于 edit_posts 权限控制,不用担心安全问题。
3. 页面行为感知
可识别用户当前所处后台页面,比如仪表盘、文章列表、评论审核、设置页等,让团队协作状态更透明。此外还提供 REST API 接口与 WP-CLI 命令,可以满足更多场景的应用。
底层实现与技术细节
从技术实现来看,Presence API 充分兼顾性能与兼容性,设计十分克制。
底层依托 WordPress 原生 Heartbeat 心跳机制 完成状态定时上报,无需额外部署 Websocket 等复杂服务。
为了不污染核心数据表、控制性能消耗,项目单独创建专属数据表 wp_presence 存放临时状态数据,数据有效期 60 秒,记录会自动过期、定期清理,兼顾实时性与服务器负载。这也防止将高频临时数据存储在共享表中会导致全站缓存持续失效的问题。
整套能力基于 REST API 标准化封装,权限沿用 WordPress 原生角色能力,仅后台有权限用户会上报和查看在线状态,前台访客完全不受影响。同时提供配套 WP-CLI 命令,方便开发者运维调试与二次拓展。
定位与未来规划
Presence API 不只是简单的「在线显示」,更是 WordPress 实时协作生态的底层基建。
官方现阶段以功能插件的形式公开测试,收集真实场景反馈,打磨稳定性与交互细节。
后续古腾堡编辑器多人协同、实时批注、内容协同修订等功能,都会基于这套接口搭建统一标准。
对于个人单站点用处有限,但企业官网、团队博客、多作者内容站点,能显著提升后台协作效率。
在全站实时协作成为编辑器主流趋势的背景下,Presence API 的落地,也标志着 WordPress 正在补齐现代化团队运营的最后一环。
体验方式
- 5 用户演示:WordPress Playground 5 人协作蓝图
- 40 用户大规模演示:40 人在线压力测试蓝图