✨ 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 LifterLMS Pro Membership: members, orders & enrollments as tables

LifterLMS stores memberships as llms_membership CPTs, orders as llms_order CPTs, and enrollments in lifterlms_user_postmeta. SleekView reads all three so retention, dunning, and access audits happen in one workspace.

♾️ Lifetime License available

SleekView table view for LifterLMS Pro Membership

Memberships, orders, and enrollments in one workspace

LifterLMS keeps its membership data spread across CPTs and a custom table. Memberships are llms_membership posts, orders are llms_order posts with the buyer's user_id and gateway stored as postmeta, and enrollments live in wp_lifterlms_user_postmeta with rows like _status (enrolled, expired, cancelled) keyed by user_id and post_id. Transaction history per order is stored as nested llms_transaction posts.

The default LifterLMS admin gives Orders, Memberships, and Students separate screens with limited cross-screen joins. Asking which members are still enrolled in a membership whose subscription has lapsed means reconciling the enrollment status in wp_lifterlms_user_postmeta against the active state of the corresponding llms_order. The Students screen surfaces course progress well, but membership-specific operational questions sit awkwardly between Orders and Students.

SleekView reads the CPTs alongside wp_lifterlms_user_postmeta and joins them on user_id + post_id so a single membership-centric view shows member, enrollment status, subscription state, lifetime spend, and last-transaction outcome. Status edits route through LifterLMS' enrollment helpers (llms_enroll_student, llms_unenroll_student) where supported so registered hooks fire as expected.

Workflow

LifterLMS CPTs and postmeta joined into one workspace

1

Map the CPTs and tables

Point SleekView at the llms_membership and llms_order CPTs plus wp_lifterlms_user_postmeta. Each becomes a navigable view with native LifterLMS columns.
2

Join on user_id and post_id

Build a member-centric view joining members to their order CPTs and enrollment postmeta. Aggregate llms_transaction amounts for lifetime spend.
3

Save the operational views

Save the active-membership view, the enrollment-vs-subscription mismatch cohort, the failed-order dunning view, and the lifetime-spend leaderboard. Gate each by role.
4

Edit through LifterLMS helpers

Enrollment edits use llms_enroll_student and llms_unenroll_student so hooks fire. Direct DB writes stay available for bulk migrations.

Sample columns

A typical LifterLMS membership view

Members joined to llms_order and lifterlms_user_postmeta with enrollment status.
Source: wp_posts (post_type=llms_membership, llms_order) + wp_lifterlms_user_postmeta
Member Membership Enrollment Subscription Lifetime spend Last txn
alex@studio.co Studio Pro Enrolled Active $240 Apr 24
ria@design.io Design Annual Enrolled Active £300 Mar 14
tom@hello.dev Studio Pro Expired On hold $80 Feb 11
mia@brew.coop Trial Cancelled Cancelled €20 Apr 02

Comparison

Default LifterLMS admin vs SleekView

Default LifterLMS admin

  • Orders, Memberships, and Students live on three different screens
  • No joined view linking llms_order to lifterlms_user_postmeta
  • Enrollment status vs subscription state mismatches aren't surfaced
  • Bulk enrollment changes are limited to per-membership tools
  • Lifetime spend per member isn't a first-class column

SleekView

  • Joined member + order + enrollment views in one row
  • Aggregate lifetime_spend from llms_transaction posts
  • Filter on enrollment status and order status together
  • Inline-edit enrollment via llms_enroll_student / llms_unenroll_student
  • Save views per role for instructors, finance, and support

Features

What SleekView gives you for LifterLMS Pro Membership

Cross-CPT joins

Join llms_membership and llms_order CPTs to lifterlms_user_postmeta on user_id + post_id so each row shows the member, their membership level, and current enrollment plus subscription state.

Status mismatch filters

Filter to enrollment active with subscription on-hold to surface members who still have access despite a paused subscription. The default admin does not expose that mismatch.

Inline enrollment edits

Update enrollment via LifterLMS helpers so the llms_user_enrollment_status_changed hook fires. Direct postmeta writes stay available for migrations.

Audience

Who uses SleekView for LifterLMS Pro Membership

Membership admins

Active vs expired vs cancelled enrollment plus subscription state in one row. Spot mismatches and clean them up inline before they cause access disputes.

Finance ops

Lifetime spend per member aggregated from llms_transaction posts. Filter llms_order by status for the dunning queue and export the cohort as CSV.

Support

Per-member enrollment and order history visible during a chat. Subscription state, last transaction, and lifetime spend all on one row.

The bigger picture

Why LifterLMS membership ops needs joined CPTs

LifterLMS is one of the few LMS-and-membership combos that handles courses, memberships, and orders within a single plugin family, which makes it powerful but also means operational data is spread across multiple CPTs and a postmeta table. Every retention question, every dunning workflow, and every access audit needs at least two of those sources read together. Did this member's last order fail.

Is their enrollment still active despite the failed order. How much have they paid lifetime. LifterLMS stores the data to answer all of those, but reaching it from the default admin means jumping between Orders, Memberships, and Students.

SleekView's joined workspace collapses the three into one screen where the row-level question is one filter away. For instructors managing memberships, finance teams running monthly close, and support handling chat queries the consolidation removes the cross-screen reconciliation that otherwise wastes hours. Installs with both course and membership enrollments benefit even more because the same workspace covers both, filtered by CPT instead of jumping between admin sections.

Questions

Common questions about SleekView for LifterLMS Pro Membership

No. The default Orders, Memberships, Students, and Reporting screens stay in place. SleekView layers a joined workspace on top for the operational questions the default admin does not surface.

 

Enrollments are stored in wp_lifterlms_user_postmeta with one row per user per post per meta key. SleekView reads that table and surfaces _status, _start_date, and _completed_date as proper columns joined on user_id.

 

Yes. Status changes route through llms_enroll_student and llms_unenroll_student so the llms_user_enrollment_status_changed hook fires. Direct table writes remain available for bulk migrations where hooks should not re-trigger.

 

Course enrollments are stored the same way, with post_id pointing to a course CPT instead of llms_membership. SleekView treats both uniformly, so a single view can show course plus membership enrollments per member.

 

Yes. SleekView queries are paginated and use LifterLMS' indexes on user_id and post_id in wp_lifterlms_user_postmeta. Joins happen on indexed columns so installs with tens of thousands of enrollments stay fast.

 

Yes. llms_transaction child posts attach to a parent llms_order via post_parent. SleekView exposes them as a child view and can aggregate amount per order or per user for lifetime-spend calculations.

 

Yes. Each saved view ties to a WordPress capability so instructors see only their assigned memberships and students, admins see everything, and finance sees an order-amount column set.

 

Yes. Both gateways write transactions into llms_transaction posts with a _llms_payment_gateway postmeta key. Filter on that key to split views by gateway, or aggregate across gateways for total lifetime spend.

 

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