✨ 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 WP Coursify Pro: courses, units, and lessons as tables

Read directly from the Coursify course post type and its enrollment records. Build per-course catalogues, per-student progress tables, and unit-by-unit completion reports in one screen, without bouncing between Coursify's profile views.

♾️ Lifetime License available

SleekView table view for WP Coursify Pro

Course content and enrollments as one workspace

WP Coursify Pro registers course as a custom post type with related unit and lesson records, and tracks per-student progress in wp_postmeta keys plus its own enrollment table. The default admin is a series of profile-shaped screens: one for each course, one for each student, one for each unit. Anything you want to see as a list (every student progressing in course X, every unit unfinished across the catalogue) needs custom queries.

SleekView reads wp_posts filtered by the Coursify post types and joins them with the enrollment and progress rows so course managers can compose the catalogue and student views they actually need. A course-completion table sorts learners by progress per course. A unit audit lists every unit with completion rate across all enrollees. A stalled-learner report filters where progress is stuck below a threshold and last activity is older than a chosen date.

Inline edits to enrollment status route through Coursify's own functions where they exist so any course-completion hooks fire normally. Direct-table edits skip hooks by design for back-fill scenarios. Multisite installations get per-subsite scoped views automatically.

Workflow

Build the Coursify roster view in four steps

1

Pick the course post type

Start with wp_posts filtered to course. SleekView joins related unit and lesson posts where needed.
2

Join enrollments

Add the Coursify enrollments table by student and course so every row maps to one learner in one course.
3

Compose progress columns

Surface wp_postmeta keys for progress percent, last activity, current unit, and status. Save the column set as a view template.
4

Save per-role views

Instructors see grading queues, program leads see catalogue-wide pass rates, customer success sees per-student history. Same data, role-specific column sets, gated by WP capability.

Sample columns

A typical WP Coursify Pro enrollment view

Joins course CPTs in wp_posts with enrollment rows and progress metadata.
Source: wp_posts (post_type IN course, unit, lesson) + wp_postmeta + wp_coursify_enrollments
Student Course Progress Status Last activity Enrolled
alex@studio.co Intro to Photoshop 100% Completed Apr 24 Mar 12
ria@design.io CSS Fundamentals 62% In Progress Apr 24 Apr 02
tom@hello.dev Full Stack Bootcamp 18% Stalled Mar 28 Mar 10
mia@brew.coop JS Basics 0% Inactive Mar 02 Feb 28

Comparison

Default WP Coursify Pro admin vs SleekView

Default WP Coursify Pro admin

  • Course screens are profile-shaped; no per-cohort progress table
  • Student profiles live separately from course rosters
  • Bulk re-enrollment or status changes require custom code
  • Progress data in wp_postmeta is hard to filter on without queries
  • Unit-level completion across the catalogue is not surfaced anywhere

SleekView

  • Join course, unit, and lesson posts with enrollment rows
  • Per-cohort progress tables sortable by progress, last activity, status
  • Filter by progress range to find stalled or inactive learners
  • Surface wp_postmeta progress keys as inline columns
  • Save views per role (instructor, admin, support)

Features

What SleekView gives you for WP Coursify Pro

Per-course cohort tables

One row per enrollment with student, course, progress percent, status, and last activity. Filter by course or cohort to see exactly where every learner stands.

Stalled-learner queue

Combine progress range, last-activity date, and status into one saved view. Find every learner who started a course but stopped advancing, with the unit they got stuck on inline.

Inline progress edits

Fix a missed completion straight from the table. Where Coursify exposes a function, SleekView calls it so hooks fire; direct edits to wp_postmeta are available for back-fill cases.

Audience

Who uses SleekView for WP Coursify Pro

Instructors

Per-course rosters sorted by who's stalled. Spot the cohort that needs a nudge after week one, and grade pending unit submissions from a single queue.

Program leads

Catalogue-wide pass and completion rates filtered by date range. Identify courses with high enrollment but low completion so the curriculum team can revisit the structure.

Customer success

During a support call, pull the learner's full enrollment history in one row, with current unit, progress, and last activity, no profile-screen hopping.

The bigger picture

Why course operations need row-level workspaces

Course programs run on cohorts, and cohorts run on progress: who's where, who's stuck, who needs grading, who's about to drop off. Coursify gives you everything you need to run those courses, but its admin is built around the unit of work (a course, a student, a unit) rather than the unit of operations (a cohort moving through a course). When an instructor needs to see who's stalled in week three, the answer is in the database but not on any screen.

When a program lead wants completion rates across the catalogue, the data is there but the aggregation is custom-built every time. When customer success needs to answer 'which unit did I get stuck on' for a learner on the phone, the profile screen tells a story one click at a time. SleekView's job is to expose the underlying tables as a composable workspace so each role can build the view their job actually requires.

The data is already in WordPress; it just needs a row-shaped surface that matches how learning operations actually run.

Questions

Common questions about SleekView for WP Coursify Pro

No. SleekView reads from the WP database directly, so it works against whichever Coursify version exposes the post types and enrollment table. Coursify Pro features (advanced quizzes, certificates) just add more columns to surface.

 

Yes. Add unit and lesson post types to the view, joined to enrollment via wp_postmeta. Each row becomes a per-student, per-unit progress record.

 

Quiz attempts and scores live in wp_postmeta keys under the parent enrollment. SleekView exposes those keys as columns once configured; opt in per view since postmeta lookups are heavier than direct columns.

 

Where SleekView uses Coursify's enrollment and progress functions, the same hooks fire as in the default admin. Direct postmeta edits skip hooks intentionally for cases like importing historical progress without notifications.

 

Yes. Filter a saved view, select rows, and apply a bulk action. SleekView routes the call through Coursify's enrollment function so capability checks and side effects run as expected.

 

wp_posts and wp_postmeta are well-indexed by WordPress core. Catalogues with hundreds of courses and tens of thousands of enrollments render fast. Heavy aggregates (catalogue-wide completion percent) are opt-in per view.

 

Any wp_postmeta key tied to a course, unit, or lesson can be added as a column. Custom fields used by your installation appear with no extra config beyond picking the key.

 

Personal data stays in WP. Export filtered learner data as CSV directly from the view; deletion goes through Coursify's existing user-removal path so referential integrity is preserved.

 

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