✨ New Plugin Alert ✨ SleekRank is now available with €50 launch discount
✨ New Plugin Alert ✨ SleekRank is now available with €50 launch discount
✨ New Plugin Alert ✨ SleekRank is now available with €50 launch discount
✨ New Plugin Alert ✨ SleekRank is now available with €50 launch discount
✨ New Plugin Alert ✨ SleekRank is now available with €50 launch discount
✨ New Plugin Alert ✨ SleekRank is now available with €50 launch discount
✨ New Plugin Alert ✨ SleekRank is now available with €50 launch discount
✨ New Plugin Alert ✨ SleekRank is now available with €50 launch discount
✨ New Plugin Alert ✨ SleekRank is now available with €50 launch discount
✨ New Plugin Alert ✨ SleekRank is now available with €50 launch discount

SleekView for PublishPress Capabilities: roles & users as tables

Capabilities lives in wp_options and usermeta. SleekView reads both and gives admins flat tables for users by role, capabilities by role, and the audit history.

♾️ Lifetime License available

SleekView table view for PublishPress Capabilities

Roles and users as proper tables, not nested option arrays

PublishPress Capabilities edits the wp_user_roles option — a serialized array buried in wp_options — and per-user capabilities in usermeta under the wp_capabilities key. The plugin's UI is built around editing one role at a time: pick a role, toggle capabilities, save. Anything cross-cutting (a capability matrix across roles, a list of users with extra capabilities outside their primary role) requires its own custom code.

SleekView unpacks the serialized wp_user_roles option and presents it as a flat capabilities-by-role matrix. It also joins wp_users with the wp_capabilities usermeta to surface every user with their primary role and an "extras" count showing capabilities granted directly to the user outside any role. That extras count is the column security audits actually need — privilege drift hides in directly-assigned capabilities that nobody remembers granting.

Bulk role and capability changes write through WordPress's role APIs (set_role, add_cap, remove_cap), so any plugin listening for those events fires correctly. The Capabilities backup history (also stored as serialized options) becomes its own view, with timestamp, role count, and capability count visible per backup.

Workflow

Roles and capabilities as a queryable matrix

1

Unpack wp_user_roles

SleekView reads the wp_user_roles option from wp_options and unpacks the serialized array into a roles-by-capabilities matrix that's sortable and filterable.
2

Join users with capabilities

wp_users joined with wp_capabilities usermeta gives a flat user list with primary role and an extras count surfaced as a column.
3

Save the audit filters

"Editors with custom capabilities" and "Users with admin capabilities outside the admin role" become saved filters — the queries security teams want to run repeatedly.
4

Edit through role APIs

Role changes go through set_role; capability changes through add_cap/remove_cap. Listeners for role-update events fire normally on bulk operations.

Sample columns

A typical Capabilities users view

SleekView unpacks wp_user_roles and joins it with wp_users via wp_capabilities usermeta.
Source: wp_options (wp_user_roles) + wp_usermeta (wp_capabilities)
User Primary role Extra caps Last login Backups Status
alex@studio.co editor +3 Apr 24 Active
ria@design.io author +1 Apr 23 Active
tom@hello.dev shop_manager +5 Apr 22 Apr 20 Modified
mia@brew.coop subscriber 0 Apr 18 Inactive

Comparison

Default Capabilities admin vs SleekView

Default Capabilities admin

  • Role editor edits one role at a time — no cross-role capability matrix
  • Users by role isn't a built-in view; you use the WordPress users screen and filter
  • Custom capabilities granted directly to users aren't surfaced in any list
  • Bulk role changes happen via the WordPress bulk-edit, not Capabilities itself
  • Backup history is a separate screen, not joined to user or role data

SleekView

  • Read wp_user_roles from wp_options with caps unpacked
  • Users grouped by role with extra-caps count as a sortable column
  • Inline-edit primary role and add/remove capabilities across many users
  • Save filters like "Editors with custom caps" for security audits
  • Tabbed view with users, roles, and capability matrix

Features

What SleekView gives you for PublishPress Capabilities

Capability matrix as a real table

Default Capabilities edits one role at a time. SleekView builds a matrix view with roles as rows, capability groups as columns — the audit view security teams want.

Users by role with extras visible

Standard WP users screen shows primary role only. SleekView surfaces extra capabilities granted directly via wp_capabilities usermeta — critical for spotting privilege drift.

Bulk role and cap changes

Promote a batch of authors to editors, or revoke a custom capability across many users in one pass. Each change writes through standard WordPress role APIs.

Audience

Who uses SleekView for PublishPress Capabilities

Site administrators

Audit who has what — primary role plus any extra capabilities — and revoke privileges that drifted away from your role-based design over years of operation.

Multisite network admins

See every site's role configuration in one view, spot inconsistencies between sites, and sync role definitions across the network for compliance with one shared baseline.

Security teams

"Users with admin capabilities not in the admin role" as a saved filter — the kind of audit query default WordPress doesn't support out of the box.

The bigger picture

Why capability audits need a flat matrix

Capability drift is one of the most under-tracked security issues in long-running WordPress installs. A role gets edited to grant a temporary capability for a launch, the capability never gets removed. A user gets an extra capability for one task, and three years later they still have it.

Plugins add capabilities on activation and don't always remove them on deactivation. The default WordPress admin doesn't show any of this — there's no "users with capabilities outside their role" view, no capability matrix across roles, no audit trail of who granted what when. PublishPress Capabilities makes the editing easier, but the visibility gap remains because the editing UI is per-role and per-user.

The audit query — give me a list of every user with admin capabilities, regardless of which role granted them — is structurally hard to answer through that interface. A flat matrix view and a flat user-extras column expose the drift directly. The data is already there in wp_options and usermeta; it just needs to be queryable as a normal table.

Questions

Common questions about SleekView for PublishPress Capabilities

WordPress core stores roles in the wp_user_roles option (a serialized array in wp_options) and per-user capabilities in usermeta under the wp_capabilities key. PublishPress Capabilities edits both. SleekView reads both, unpacks the serialized data, and presents them as flat queryable tables.

 

Yes. usermeta.wp_capabilities stores the user's role(s) plus any directly-assigned capabilities. SleekView surfaces extras as a separate count column and as an expandable detail per row, so admins can spot privilege drift across an entire user base in one view.

 

Yes. PublishPress Capabilities stores backups as serialized options. SleekView reads them as a backup-history view with timestamp, role count, and capability count visible per backup. Useful for spotting when a capability was last present in a role definition.

 

Yes. SleekView uses WordPress's role APIs (set_role, add_cap, remove_cap), so any plugin listening for those events fires correctly. Audit-log plugins, security plugins, and notification systems all behave as if the change came through the standard admin UI.

 

Yes. SleekView views are per-site by default, but you can build a network-level view that aggregates role definitions across sites — useful for spotting drift in a multisite where each site's role definitions can diverge over time. Network admins gain a single audit surface.

 

Yes. Any view exports to CSV with the visible columns — useful for compliance audits, security reviews, or handing role definitions to a network admin or security consultant. The export honors the active filter so a "users with admin capabilities" export contains exactly those users.

 

Yes. Plugins that register custom capabilities (WooCommerce shop_manager caps, BuddyPress moderator caps, etc.) write to the same wp_user_roles option. SleekView reads them as additional rows or columns in the matrix, so the audit view covers third-party capabilities alongside core ones.

 

The backup-history view shows role count and capability count per backup, which catches large drifts at a glance. For row-level diffing, export two backup snapshots to CSV and run a diff in your tool of choice. Capabilities itself doesn't expose a structured diff API.

 

Pricing

More than 1000+
happy customers

Explore our flexible licensing options tailored to your needs. Upgrade your license anytime to access more features, or opt for a lifetime license for ongoing value, including lifetime updates and lifetime support. Our hassle-free upgrade process ensures that our platform can grow with you, starting from whichever plan you choose.

Starter

€79

EUR

per year

  • 3 websites
  • 1 year of updates
  • 1 year of support

Pro

€149

EUR

per year

  • Unlimited websites
  • 1 year of updates
  • 1 year of support

Lifetime ♾️

Most popular

€249

EUR

once

  • Unlimited websites
  • Lifetime updates
  • Lifetime support

...or get the Bundle Deal
and save €250 🎁

The Bundle (unlimited sites)

Pay once, own it forever

Elevate your WordPress site with our exclusive plugin bundle that includes all of our premium plugins in one package. Enjoy lifetime updates and lifetime support. Save significantly compared to buying plugins individually.

What’s included

  • SleekAI

  • SleekByte

  • SleekMotion

  • SleekPixel

  • SleekRank

  • SleekView