Offer online courses to your members with the Courses for Membership Add On for Paid Memberships Pro. Choose the Courses for Membership Add On and get these key benefits:
- Native Course Features: Create and organize basic courses with ease. Our intuitive interface allows you to design compelling courses, complete with lessons and rich media content, without needing any technical expertise.
- Seamless Integration with Leading WordPress LMS: Enjoy flawless compatibility with top-tier Learning Management Systems like LifterLMS, LearnDash, Sensei, and Tutor LMS. This Add On bridges the gap between your courses and membership management, ensuring a smooth user experience.
- Versatile Membership Management: Built for true membership sites, where member features are more than just a course. Effortlessly manage member access and customize your content for different membership levels. You have complete control over who accesses your content, enhancing both security and exclusivity.
- Cost-Effective Solution: As a free Add On available in the WordPress Repository, this plugin offers an affordable yet robust solution to create and manage your online courses without compromising on quality and features.
Explore our Courses Hub for more information about launching your Course membership website.
Installation
- Navigate to Plugins > Add New in the WordPress admin.
- Search for the plugin by name.
- Click “Install“, then “Activate“.
Navigate to Memberships > Courses in the WordPress admin to configure modules.
Try a Demo: View the Courses demo site or launch a free private demo now.
Video: How to Create a Simple Course in WordPress
How to Create Courses and Lessons
The default courses module organizes your course content, protects access by membership level, and tracks lesson completion.
- Create an unlimited number of courses and lessons
- Organize courses by category
- Protect lesson content by membership level
- Allow members to track lesson completion
Here’s how to set up the default courses module for Paid Memberships Pro (no third-party LMS plugin required):
- Install and Activate Plugins
You will need Paid Memberships Pro and our Courses for Membership Add On (free) installed and activated on your site.
- Navigate to Memberships > Courses
Check the box for Default to enable the course and lesson post types bundled with this plugin.
- Save Settings
Save the module selection.
- Create Lessons
Navigate to Courses > Add Lesson to create your lessons. Individual lessons in a protected course are not accessible for non-members. For help outlining your course structure, check out the Courses Hub here.
- Optional: Set Up Course Categories
Navigate to Courses > Course Categories to create or manage course categories.
- Create a Course
Navigate to Courses > Add Course to create a course. The course content is, by default, visible to anyone browsing your site. Imagine this page content is the sales copy that entices people to purchase access. Assign the course to categories (optional).
- Organize Lessons in the Course
In the Lessons metabox (below the post editor), add the lessons you want to offer in this course. Reorder lessons by clicking Edit and changing the numeric order. This order is not shown to members, so you can leave gaps like 10, 20, 30 in case you want to squeeze in lessons later.
- Protect Course Access
In the Settings sidebar, locate the Require Membership metabox. Check any membership levels that you want to allow access for this course.
- Save Changes
Save and update your course. That’s it. The course is now protected for the chosen memberships levels.
How to Rebuild Permalinks
Note: You may initially see a ‘404: Page Not Found’ error when trying to view a built-in Course or Lesson post type. Here’s the steps to fix that:
- Navigate to Settings > Permalinks.
- Click “Save Changes“
This step “flushes the rewrite rules” in your WordPress site and allows the Course and Lesson custom post types to use your default rewrite rules.
Courses Catalog Archive Page
The default module has an option to enable to disable the archive page for your courses. This archive will use your theme’s default post archive layout.
- Navigate to Memberships > Courses in the WordPress admin.
- Choose a setting for the Enable Archive Page for the Default Courses CPT? option. If checked if, your site will show an archive of all courses at
yoursite.com/courses/
Note: It’s useful to disable this archive if you are building your own catalog page some other way or have another LMS plugin active at the same time and want to allow that other plugin to control what shows up at this URL.
Course and lessons can be public or require membership. When a course requires membership, every lesson within that course is automatically protected. Non-members cannot view a single lesson page in a protected course. If they happen to know a lesson’s URL, the logic in this plugin redirects them to the course page.
Shortcodes Available in the Default Courses Module
[pmpro_my_courses limit="3"]
Show a list of courses that the current logged in user can access as part of their membership level. This shortcode accepts one attribute: limit
. If you do not add this attribute the shortcode will show all courses for the member (no limit).
[pmpro_all_courses limit="10"]
Show all courses available in the site, regardless of whether the visitor or user can access them. This shortcode accepts one attribute: limit
. If you do not add this attribute the shortcode will show all courses in the site (no limit).
Integrate with Third Party LMS Plugins
This Add On also supports integration with third party elearning plugins. In most cases, you will only need to have one module active at a time.
Refer to the individual documentation pages for help with these modules:
- LifterLMS: Enable the LifterLMS module to enable course protection by membership level for your courses in LifterLMS.
- LearnDash: Enable the LearnDash module to enable course protection by membership level for your courses in the LearnDash LMS.
- Sensei: Enable the Sensei module to enable course protection by membership level for your courses in Sensei.
- Tutor LMS: Enable the Tutor LMS module to enable course protection by membership level for your courses in Tutor LMS.
LifterLMS: The Preferred Open Source LMS for PMPro Sites
Seamlessly integrate your Paid Memberships Pro membership site with LifterLMS to offer exclusive courses to your members.
Using the Streamlined Compatibility Mode allows Paid Memberships Pro to exclusively manage course access and restrictions, simplifying the membership management process.
Screenshots
Action and Filter Hooks
Below are the most commonly used action and filter hooks.
apply_filters( 'pmpro_courses_modules', $modules );
Add custom modules (other integrated course platforms) to the array of PMPro Courses modules.
apply_filters( 'pmpro_courses_course_redirect_to', null );
By default, the single course page is publicly accessible, regardless of its membership access settings. Use this filter to set a redirect URL to send non-members to when they visit the single course.
apply_filters( 'pmpro_courses_lesson_redirect_to', get_permalink( $post->post_parent ) );
By default, when non-members try to access a protected lesson in a course, they are redirected to the single course page. Use this filter to specify a custom URL for redirecting users who don’t have access to a lesson, rather than defaulting to the lesson’s parent course URL.
apply_filters( 'pmpro_courses_get_courses_html', $temp_content, $courses );
Filter to allow custom code to modify the structure of the frontend courses list when displayed using the pmpro_courses_get_courses_html()
function or via the [pmpro_my_courses]
shortcode.
apply_filters( 'pmpro_courses_get_lessons_html', $temp_content, $course_id, $lessons );
Filter to allow custom code to modify the structure of the frontend lessons list when displayed using the pmpro_courses_get_lessons_html()
function (automatically added to the single course page).
apply_filters( 'pmpro_courses_show_course_content_to_nonmembers', true );
Optionally hide the full course content from non-members. By default, PMPro Courses will override PMPro to show the full course content, even to non-members (we see the single course page as a sales page for your course). Set this filter to false
to change this behavior.
This is a Free Add On.
Create a free account or log in to gain access to downloads and documentation.