Custom LMS Platform on WordPress & LearnPress
A donation-funded e-learning platform for a large non-profit: rebuilt LearnPress templates, custom course access, online & offline courses, bilingual UI.
- WordPress
- LearnPress
- PHP
- ACF
- JavaScript
- AJAX
The task
A large non-profit organization wanted to launch an educational platform — dozens of online and offline courses taught by its own experts. The catch: this is a charity, so the usual “add to cart, pay, get access” model didn’t fit. Courses are funded by donations, access rules differ per course, and everything had to work in two languages.
Off-the-shelf LearnPress looks nothing like that. So I kept its course/lesson/quiz engine and rebuilt everything around it.
What I built
- A fully overridden LearnPress template layer. Course archive, single course, lessons, quizzes, checkout, profile, emails — every template rewritten to match the organization’s design system instead of the default LMS look. Multiple single-course layouts, including a separate one for offline (in-person) courses with schedules and venue details.
- Donation-based course access. Instead of a classic purchase, a course page offers a donation flow (one-time or recurring, multi-currency) tied to the student’s account via a custom AJAX handler — so the charity sees exactly which supporter funded which course.
- Course access inquiry flow. Some courses aren’t open for self-enrollment: a custom request form routes applications for a specific course tier to the team, with validation and email notifications.
- Rebuilt student account area. The registration plugin’s account menu was stripped and replaced with what students actually need — including a “My donations” section — with smart redirects for signed-in users hitting sign-in/sign-up pages.
- Custom post types, metaboxes and ACF options powering the content model, plus
Contact Form 7 / WPForms integrations and a cleaned-up
<head>for better Core Web Vitals and SEO. - Bilingual everything — every string, template and email works in Ukrainian and English.
Result
A production LMS where the non-profit’s team publishes courses, manages access and tracks donations without a developer in the loop. The heavy lifting lives in a child theme with documented modules — LearnPress itself stays updatable, nothing is forked.