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
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
Map the CPTs and tables
llms_membership and llms_order CPTs plus wp_lifterlms_user_postmeta. Each becomes a navigable view with native LifterLMS columns.
Join on user_id and post_id
llms_transaction amounts for lifetime spend.
Save the operational views
Edit through LifterLMS helpers
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
llms_order and lifterlms_user_postmeta with enrollment status.
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_ordertolifterlms_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_spendfromllms_transactionposts - 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.
Lifetime ♾️
Most popular
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
€749
Continue to checkoutBrowse more
- Woocommerce Shipping Multiple Addresses
- Givewp
- Woocommerce Shipping Discount
- Woocommerce Shipping Canada Post
- Variation Swatches
- Yith Woocommerce Quick View
- Woocommerce Freshbooks Sync
- Woocommerce Extra Product Options
- Woocommerce Variation Prices
- Woocommerce Truste Checkout
- Woocommerce Shipping Dhl
- Woocommerce Advanced Product Labels
- Woocommerce Product Recommendations
- Charitable
- Yith Woocommerce Product Add Ons