Description
Tracks which users are logged in, what admin screen they are viewing, and which posts are being edited. Uses a dedicated database table with a 60-second TTL. Data flows through the existing Heartbeat API.
For full details, see the GitHub repository.
Installation
- Upload the plugin to the
/wp-content/plugins/directory. - Activate through the “Plugins” menu in WordPress.
Reviews
There are no reviews for this plugin.
Contributors & Developers
“Presence API” is open source software. The following people have contributed to this plugin.
ContributorsTranslate “Presence API” into your language.
Interested in development?
Browse the code, check out the SVN repository, or subscribe to the development log by RSS.
Changelog
0.1.4
- Auto-sync readme.txt changelog from CHANGELOG.md in sync-versions.sh.
0.1.3
- Add 40-user Playground blueprint.
- Add 40-user Playground blueprint (down from 100).
- Address stale-screen review feedback.
- Address WordPress.org plugin review feedback.
- Close wp_presence_current_screen_key() brace dropped by autofix.
0.1.2
- Add WordPress Playground blueprint for one-click testing.
- Remove demo CLI command from production builds.
- Split CI into separate PHPCS, PHPUnit, and Multisite workflows.
- Exclude vendor directory from release zip.
- Add readme.txt for WordPress.org directory submission.
- Add WordPress.org repository compliance files (CONTRIBUTING, CODEOWNERS, CODE_OF_CONDUCT).
- Move community health files to .github/.
- Replace deprecated get_page_by_title() with WP_Query.
- Add ABSPATH guards to db-viewer.php and demo-seeder.php.
- Exclude .claude directory from release zip.
0.1.1
- Fix Plugin Check errors for directory submission.
0.1.0
- Dedicated
wp_presencetable withUNIQUE KEY (room, client_id)for atomic upserts viaINSERT ... ON DUPLICATE KEY UPDATE. - 60-second TTL with batched cron cleanup.
- Public API:
wp_get_presence,wp_set_presence,wp_remove_presence,wp_remove_user_presence,wp_can_access_presence_room,wp_presence_post_room. - REST endpoints:
GET/POST/DELETE /wp-presence/v1/presence,GET /wp-presence/v1/presence/roomswith SQL pagination andCache-Control: no-store. - Heartbeat integration for admin and editor presence pings.
- Post-lock bridge: translates
wp-refresh-post-lockinto presence entries. - Login/logout lifecycle hooks gated on
edit_posts. - Dashboard widgets: Who’s Online (with idle detection, overflow threshold, avatar stacks) and Active Posts (grouped by post with editor counts).
- Admin bar indicator: avatar stack for same-page users, dropdown grouped by “On this page” / “Elsewhere”, alphabetically sorted.
- Post list “Editors” column with avatar stacks.
- Users list “Online” filter tab.
- WP-CLI:
set,list,summary,cleanup. - Debugger widget (WP_DEBUG only): heartbeat monitor with live table viewer.
wp_presence_default_ttlfilter andWP_PRESENCE_DEFAULT_TTLconstant.- Multisite-aware
uninstall.php. - Full i18n with
.potfile. - WCAG AA accessibility: ARIA labels,
aria-live, keyboard navigation. - 59 PHPUnit tests, 118 assertions.
- Playwright e2e tests with screenshot artifacts.
