✨ 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 Restrict User Access: levels & members as tables

Restrict User Access stores levels as a custom post type and assigns them to users via meta. SleekView joins them so each level shows its member roster with last login, expiry date, and assignment source on one row.

♾️ Lifetime License available

SleekView table view for Restrict User Access

A member roster per level, finally

Restrict User Access models membership as access levels rather than products. Levels are stored as the rua_level custom post type, and assignments live in user meta with the level ID, the start timestamp, and an expiry timestamp where the level was given a duration. The plugin's API exposes rua_get_user()->add_level(), ->has_level(), and ->get_level_expiry() for programmatic work, but the admin treats levels primarily as configuration screens — capability sets, content rules, redirect targets — rather than as rosters.

That means there isn't a default "who's on this level, when do they expire, when did they last log in" view. Listing the members of a level means filtering the users screen by capability or running a custom query against user meta. Multi-level users (someone on Gold and Beta) appear once in the user list with no indication of which levels they belong to. Expiry-driven workflows — surfacing accounts that lapse in the next 7 days, sweeping expired accounts off a level, comping extensions — sit outside the default UI.

SleekView reads rua_level joined to user meta and produces a per-level roster with member, last login, expiry, and assignment source as columns. The expiry sort is the renewal-risk list. The members-on-multiple-levels view is one filter.

Workflow

RUA levels and members in one workspace

1

Map levels and assignments

Point SleekView at rua_level for level configuration and the user-meta keys RUA writes for assignments. Each level becomes a roster view; each user becomes a row across the levels they hold.
2

Add expiry and last-login columns

Surface the expiry timestamp RUA stores per assignment as a date column. Join standard last-login meta for retention sorting. The two together drive the renewal-risk list.
3

Save the access-review views

Build saved views for the 7-day expiry list, the expired sweep, multi-level cohorts, and per-level dormant subscribers. Gate by role so support and admin see only what they need.
4

Edit through the RUA API

Assignments and removals route through rua_get_user()->add_level() and ->remove_level() so RUA hooks fire. Direct meta writes stay available for bulk migrations.

Sample columns

A typical RUA level roster

Members assigned to a single level with last login, expiry, and assignment source.
Source: rua_level CPT + user meta
Member Level Status Expires Last login Assigned
alex@studio.co Gold Active Jul 14 Today Jan 12
ria@design.io Gold Active Aug 02 2 days ago Feb 03
tom@hello.dev Gold Expiring soon May 14 9 days ago Mar 12
mia@brew.coop Gold Expired Apr 02 31 days ago Apr 02

Comparison

Default RUA admin vs SleekView

Default RUA admin

  • Levels have config screens but no built-in member roster
  • Expiry-driven workflows (lapse-in-7-days) need custom queries
  • Members on multiple levels aren't visible at a glance
  • Bulk level assignments and removals go one row at a time
  • Last-login retention work means joining to wp_usermeta manually

SleekView

  • Per-level roster with member, last login, expiry inline
  • Expiry sort surfaces the 7-day renewal-risk list
  • Multi-level users render with all levels in one column
  • Inline assign and remove via the RUA API
  • Save views per role for admins and support

Features

What SleekView gives you for Restrict User Access

Per-level roster

Build a view per rua_level showing every assigned member with last login, expiry, and assignment source as columns. The level configuration screens stay where they are; the roster lives alongside them.

Expiry-driven workflows

Sort by expiry to surface the next 7 days of lapses. Filter to expired for the sweep list. Comp an extension inline by writing the new expiry through rua_get_user()->add_level().

Multi-level visibility

Members on more than one level render as a single row with all level slugs concatenated in one column. Filter by level slug to find users on Gold and Beta together for cohort outreach.

Audience

Who uses SleekView for Restrict User Access

Membership admins

Per-level rosters with expiry visible inline. Bulk-extend a cohort before a campaign deadline; sweep expired members off a level after the grace window with a single filtered action.

Support

Per-member level list, expiry, and last login visible during chat without running queries. Inline assign or extend a level for the cases where comping access is warranted.

Operations

Audit which users hold which levels, which levels overlap, and which assignments are about to lapse. The roster is the answer to access-review questions auditors ask quarterly.

The bigger picture

Why RUA installs need a roster view

Restrict User Access is a clean piece of engineering for access control, but its admin is built around configuring levels rather than operating on the members assigned to them. That's a sensible default — the level is what controls capability — but it means most of the questions that come up in day-to-day membership work don't have a one-screen answer. Which Gold members lapse in the next 7 days? Which users hold both Gold and Beta? Which Silver members haven't logged in this month and are likely to churn at renewal? RUA stores all the data to answer those, just not in a way the level-config screens surface.

SleekView's per-level roster fills that gap by reading the same user meta RUA already maintains and rendering it as columns ops can sort and filter. The renewal-risk list is a sort by expiry. The dormant cohort is a filter on last login.

The access review is the roster filtered to expired. None of this changes RUA's underlying access model — it gives the operator a workspace where the questions are one filter away.

Questions

Common questions about SleekView for Restrict User Access

No. RUA's level config, capability editor, and content rules stay where they are. SleekView adds the roster and workflow views the level config screens don't surface — per-level membership lists, expiry sorts, and bulk assignment actions.

 

RUA stores expiry as a Unix timestamp in user meta when a level is assigned with a duration. SleekView reads that timestamp, renders it as a date column, and supports sorting and filtering on it for renewal-risk and lapse-sweep workflows.

 

Yes when SleekView routes assignment changes through the rua_get_user()->add_level() and ->remove_level() API methods. Hooks like rua/user/level/added fire so capability sync and integration callbacks run as expected.

 

Yes. SleekView aggregates a user's level assignments into a single column per row so users on Gold and Beta appear once with both levels concatenated. Filter by level slug to find members holding two specific levels together.

 

Capability overrides defined per level are part of RUA's config, not its data. SleekView's roster surfaces the assignments themselves; capability mapping stays in RUA's level editor where it's centrally managed.

 

RUA extensions like the Meta Box restriction and BuddyPress integration write their config to standard post meta on the level posts. Those config fields render as columns in SleekView's level-config view if you want them, separate from the member roster.

 

Yes. Save a column set per WordPress capability so support, admin, and ops each see only the columns they need. Per-role views also limit which levels are visible, useful when level configuration is sensitive.

 

Yes. Queries use the indexed user_id column on wp_usermeta with paginated reads. Sites with tens of thousands of users assigned across dozens of levels run smoothly without scanning the full meta table.

 

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