Presence API Feature Plugin
The Presence API is an experimental feature plugin that provides a system-wide awareness layer — who is logged in, what admin screens they are on, and which posts they are editing.
This idea of presence I think is really cool and seeing where people are… you log into your WordPress, I see oh Matias is moderating some comments, Lynn is on the dashboard maybe reading some news… that idea of like you log in and you can kind of see the neighborhood of like who else is also there.
Matt Mullenweg, WordPress 7.0 planning session
Problems this aims to solve
- There is currently no way to see who else is logged into the WordPress admin at the same time.
- Posts being actively edited by another user are only surfaced when a lock collision occurs, by which point work may already overlap.
- The post list provides no indication of which posts have active editors until a user tries to open one.
Here’s what that looks like in practice:
Try it yourself in WordPress Playground: 5-user blueprint. The blueprint creates 5 editor accounts with live presence spread across admin screens and posts, so the widgets, admin bar, and post list are populated the moment Playground boots — no second browser or incognito window needed.
See it at scale: 40-user blueprint. Same setup, 40 seeded editors — useful for seeing how the widgets, admin bar, and post list handle density.
What the plugin provides
- Dashboard widgets: “Who’s Online” and “Active Posts”
- Admin bar online indicator with avatar stack for on-screen presence
- Post list “Editors” column
- Users list “Online” filter
- REST endpoints and WP-CLI commands
- Post-lock bridge (coexists with existing _edit_lock behavior)
All features are gated on the edit_posts capability. Full technical details are in the GitHub repository.
Background
During WordPress 7.0 development, discussion in #64696 identified that storing high-frequency ephemeral data in shared tables causes persistent cache invalidation site-wide. This feature plugin was built to test that workload independently using a dedicated ephemeral data table with a 60-second TTL. Data flows through the existing Heartbeat API. The plugin was presented at a core dev chat and subsequently transferred to the WordPress GitHub organization. It was submitted to the WordPress.org plugin directory on April 6, 2026.
Feedback welcome
This plugin is experimental. Feedback on the following is especially helpful:
- Are the UI surfaces (widgets, admin bar, post list) useful as presented?
- Are there admin screens or workflows where presence would be valuable?
Discussion and development: #feature-presence-api on WordPress Slack
Bug reports and discussion: GitHub Issues
Thank you to @jorbin and @desrosj for helping to stand up this feature plugin.
Props @peterwilsoncc, @mindctrl, @czarate, @davidbaumwald, @dd32, @maxschmeling, and @westonruter for the architectural discussion in #64696 that informed this work.


