SleekView for Teachable on WordPress: enrolment sync & lesson access as tables
Read the local Teachable mirror state directly. Build sync-health views, enrolment-mismatch queues, and access-token audits without leaving the WP admin or opening the Teachable dashboard.
♾️ Lifetime License available
Teachable integration state, finally a real table
The Teachable for WordPress integration mirrors Teachable enrolment and access state locally as user meta keys (teachable_user_id, teachable_courses, teachable_last_sync) on wp_users, with a per-site sync registry stored in wp_options and (depending on add-on configuration) per-course access tokens kept in wp_postmeta on the linked WP course posts. The default integration settings page is configuration-only: connect API key, configure mappings, save.
Operational questions like 'which users are connected to Teachable and which are not', 'which Teachable courses are mapped to WP pages and which are orphaned', 'when did each user last sync and which syncs are stale' don't have a built-in screen. They're answered today by checking the Teachable dashboard for one user, then opening the WP profile for the same user, then comparing.
SleekView reads the local mirror tables directly. A connection-status view joins wp_users with teachable_user_id meta to show which users have Teachable accounts paired and which don't. A course-mapping view lists WP course posts and the teachable_course_id meta they carry, flagging orphans and duplicates. A sync-health view sorts users by teachable_last_sync so stale rows surface at the top. Re-sync actions route through the integration's API so its retry and throttling behaviour applies unchanged.
Workflow
Teachable integration views without API calls
Read the local mirror
wp_users joined with teachable_* usermeta as the base, or wp_posts filtered to course post types for the course-mapping view. Both surface the relevant Teachable IDs automatically.
Compose connection columns
Scope per role
Re-sync or unpair inline
Sample columns
A typical Teachable for WordPress connection view
wp_usermeta and last-sync timestamp.
wp_users + wp_usermeta (teachable_*) + wp_postmeta (course mapping) + wp_options (sync registry)
| Member | Teachable ID | Courses | Last sync | Status | Action |
|---|---|---|---|---|---|
| alex@studio.co | 12345 | 4 | Apr 24 | In sync | View |
| ria@design.io | 12389 | 2 | Apr 18 | Stale | Re-sync |
| tom@hello.dev | (not connected) | 0 | n/a | Unpaired | Pair |
| mia@brew.coop | 12412 | 1 | Apr 22 | In sync | View |
Comparison
Default Teachable for WordPress admin vs SleekView
Default Teachable for WP admin
- Settings screen is configuration-only, no operational views
- Per-user Teachable pairing isn't surfaced as a sortable column
-
teachable_last_syncusermeta isn't visible in any admin screen - Orphaned course mappings aren't flagged
- No bulk re-sync workflow for stale users
SleekView
-
Connection-status view joining
wp_userswith Teachable pairing meta - Course-mapping audit flagging orphans and duplicates
-
Sync-health view sorted by
teachable_last_synctimestamp - Bulk re-sync filtered by stale or unpaired status
- Per-role views via WP capability gating
Features
What SleekView gives you for Teachable for WordPress
Connection-status view
Join wp_users with teachable_user_id usermeta. Filter to unpaired members for onboarding follow-up, or sort by last-sync to triage stale connections before they become support tickets.
Course mapping audit
List WP course posts and the teachable_course_id meta they carry. Orphaned mappings (WP course exists, Teachable course was deleted) and duplicates surface as derived filterable columns.
Bulk re-sync queue
Filter to stale or failed-sync users and bulk-re-sync through the Teachable integration's API. Retry and throttling behave normally; SleekView just makes the queue visible and addressable in one screen.
Audience
Who uses SleekView for Teachable on WordPress
WordPress admins
Daily sync-health check across all paired users. Sort by last-sync timestamp, bulk-re-sync stale entries, and triage failed syncs from wp_options sync-registry error messages.
Member support
Look up a member by email, see Teachable pairing status, enrolled courses, and last-sync timestamp in one row. Trigger a re-sync inline if the member reports missing course access.
Marketing operations
Filter members who are paired with Teachable but haven't started any courses recently for re-engagement campaigns. Export the cohort to CSV without leaving the WP admin.
The bigger picture
Why integration health needs a workspace, not a settings page
Teachable for WordPress works hard to keep the WP and Teachable sides in sync, and most of the time it succeeds quietly. The challenge is the part that lives between those two systems: which users are paired, which mappings are stale, which course assignments drifted between sync runs. The default integration screen handles the connection setup beautifully and then assumes the operational layer is someone else's problem.
In practice the operational layer is a daily reality for admins running paid-content sites: members complain about missing course access, support reps need to confirm pairing status during chat, marketing teams want to segment by who's engaged inside Teachable. None of those questions are SQL questions; they're saved-view questions against tables the integration already writes to (teachable_* usermeta, course-mapping postmeta, the sync-registry option). SleekView's job is to expose those tables as filterable views, route re-sync actions through the integration's own API so behaviour stays consistent, and let each role build the view their job actually needs.
Same data, hooks fire when wanted, dramatically less time spent in the Teachable dashboard cross-referencing one user at a time.
Questions
Common questions about SleekView for Teachable for WordPress
No. SleekView reads the local WordPress tables that the Teachable for WordPress integration writes to (usermeta keys, course-post meta, and the options-table sync registry). Re-sync routes through the integration's API so its retry, throttling, and error handling apply unchanged.
 That's the drift case SleekView surfaces. Per-user views show local mirror state alongside last-sync timestamp; stale rows can be re-synced inline through the integration's API to pull the authoritative Teachable state down. Persistent disagreements after re-sync are typically API-key permission issues which appear in the sync-error column.
 Where SleekView uses the integration's API for re-sync or unpair, all standard hooks fire so any installed downstream automations (member welcome emails, group-membership updates) run normally. Direct usermeta writes are available for forensic cleanup where you explicitly don't want hooks to fire.
 
Yes. The integration writes per-user enrolled-course lists to teachable_courses usermeta. SleekView expands that into a normalised join so per-course views work the same way as per-user views, with filterable course-id, enrolment date, and progress columns where surfaced.
Yes. The course-mapping view flags WP course posts whose teachable_course_id meta no longer matches an active Teachable course (as recorded in the last sync registry). Orphans and duplicates surface as derived columns so cleanup becomes a saved view rather than a manual audit.
Yes. Each saved view binds to one or more WP capabilities. Admins see the full sync-health view, support sees connection-status without admin-only error detail, marketing sees member cohorts without billing data. Capability gating decides who can re-sync or unpair.
 Multi-school Teachable accounts route through separate API keys configured per WP site. SleekView reads whatever the integration writes locally; if you've configured multiple schools per WP site (less common), the school-id column distinguishes them in views.
 Yes. Any view exports to CSV or JSON. Useful for archiving end-of-month integration audits as evidence of data consistency, or for handing diagnostic exports to support during integration troubleshooting. Filter to the relevant cohort first, then export.
 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 Gift Ultimate
- Woocommerce Elavon
- Wp Invoice
- Woocommerce Gift Cards Pro
- Woocommerce Pinterest Feed
- Edd Commissions
- Woocommerce Vertex Tax
- Surecart Checkout
- Woocommerce Product Feed Pro
- Shipment Tracking
- Woocommerce Quaderno
- Woocommerce Currency Per Product
- Woocommerce Additional Variation Images
- Dokan
- Woocommerce Wholesale Order Form
- Content Control Cm
- Armember Pro
- Click Funnels Wp
- Premium Content Block
- User Meta Manager
- Ultimatemember Followers
- Memberful Wp
- Register Plus Redux
- Simple Membership Pro
- Restrict User Access
- Memberium Active Campaign
- Ultimatemember Private Content
- Wp Private Content Pro
- Simple Membership
- Wp Private Content Plus