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.

#performance, #presence-api

A WordPress Commenter

Recent Posts

Performance Chat Summary: 21 April 2026

The full chat log is available beginning here on Slack. Performance Lab Plugin (and other…

6 days ago

8 Best Shared WordPress Hosting Providers

With so many website hosting choices, it can be difficult to decide which type of WordPress hosting…

1 week ago

Celebrating Community at WordCamp Asia 2026

WordCamp Asia 2026 brought the global WordPress community to Mumbai, India, from April 9–11, gathering…

2 weeks ago

How to Watch WordCamp Asia 2026 Live

WordCamp Asia 2026 will be available to watch live across three days of streaming, making…

3 weeks ago

From AI to Open Source at WordCamp Asia 2026

April 9-11, 2026 | Jio World Convention Centre, Mumbai, India WordCamp Asia 2026 brings the…

4 weeks ago

WordPress 7.0 Release Candidate 2

The second Release Candidate (“RC2”) for WordPress 7.0 is ready for download and testing! This…

1 month ago