Presence API
Presence API gives WordPress a system-wide awareness layer. It tracks which users are logged in, which admin screen they are on, and which posts they are editing. Data flows through the Heartbeat API and is stored in a dedicated wp_presence table with a 150-second TTL. No writes to wp_postmeta means
About this tool.
Presence API gives WordPress a system-wide awareness layer. It tracks which users are logged in, which admin screen they are on, and which posts they are editing.
Data flows through the Heartbeat API and is stored in a dedicated wp_presence table with a 150-second TTL. No writes to wp_postmeta means no post-cache invalidation on every heartbeat.
On a multisite network, Network Admin gets its own view of the same data: a Who’s Online dashboard widget listing the busiest sites and who is on each, an Online column in the Sites list, and an Online view, filter, and column in the Users list. These require the manage_network capability.
Features
- Admin bar indicator showing who’s online and who’s on this page
- Active Posts dashboard widget grouped by post
- Editors column in the post list
- A notice on synced patterns in the block editor while someone else is editing them
- Online filter in the Users list
- A notice when someone else saves the screen you have open
- Post locks kept in the presence table instead of post meta, so holding a lock no longer makes cached post queries stale
- A switch for each feature on Settings > Presence API
- AI agents labelled in the admin bar, the Active Posts widget, and the Editors column, once a plugin such as Agent Users marks them
For Developers
PHP functions, REST endpoints, WP-CLI commands, filters, and room conventions are documented in the GitHub repository .
Background
A feature plugin sponsored by the WordPress Core team, exploring what system-wide presence could look like for a future WordPress release. Follow development on make.wordpress.org/core with the tag #presence-api .