INACTIVE NOTICE: This plugin is unsupported by WPMUDEV, we've published it here for those technical types who might want to fork and maintain it for their needs.
Translation files can be found at https://github.com/wpmudev/translations
Are you thinking about sharing or selling tutorials or classes on your WordPress site? Easily create, promote and sell your knowledge with CoursePress Pro.
CoursePress Pro makes online education simple with course pages, paywalls, social sharing, and an interactive learning environment that helps connect more students.
Make your courses interactive with video, audio, quizzes and other downloadable media.
CoursePress comes packaged with its own theme – styled and ready out-of-the-box. Plus, the included shortcodes and widgets make it easy to integrate CoursePress Pro with your favorite themes.
Use the CoursePress theme for completely styled units right out of the box.
Embed video, audio files and images, share downloadable project files, create quizzes, allow students to submit coursework and participate in group discussions.
MarketPress and WooCommerce integration let you sell your courses from any of 100+ payment gateways.
Build and manage the next big Academy, Tuts+ or Lynda with built-in MarketPress and WooCommerce. Start taking payments using any of the 100+ available payment options.
CoursePress Pro makes it easy to set up and manage students, courses and teachers.
Manage students, instructors and courses like a pro with automatic grading and reporting, assessments, discussions and with CoursePress students can track their progress from start to finish.
Drip release units and send notifications when new material is available. Automated and customizable notifications help both students and instructors stay on top of communications.
Write custom follow-up email notifications.
Make sure every question gets answered and assignments are graded quickly – even for the big classes. Add multiple instructors and course facilitators to stay on top of responses.
Assign multiple moderators and instructors to support your students.
Create all types of quizzes with multi-answer, single choice, upload and selectable modules.
CoursePress Pro includes more ways to assess your students – multi-answer, single choice, selectable, short answer, long answer, true and false and upload. Plus, require students to complete each unit quiz with a qualifying grade before starting the next session.
Create custom certificates for every course.
CoursePress Pro lets you create custom styled, personalized printable completion certificates for each course.
Rebuilt from the ground up for WPMU DEV’s own Academy. CoursePress Pro is the complete Learning Management System (LMS) built for the pros by the pros. Sharing knowledge with WordPress has never been easier.
Start by reading Installing plugins section in our comprehensive WordPress and WordPress Multisite Manual if you are new to WordPress.
Login to your admin panel for WordPress or Multisite and activate the plugin:
- On regular WordPress installs – visit Plugins and Activate the plugin.
- For WordPress Multisite installs – Activate it blog-by-blog (say if you wanted to make it a Pro Sites premium plugin), or visit Network Admin -> Plugins andNetwork Activate the plugin.
Once installed and activated, you’ll see a new menu item in your dashboard; CoursePress Pro.
Clicking that menu link, you'll be greeted with a welcome message and brief details to help you get started by creating a course.
Let's go ahead and get started by adding a course. Go to CoursePress Pro > New Course.
You'll see a number of sub-sections comprising a 6-step process. Let's go through them all.
- Enter a Course Name.
- Enter a Course Excerpt, or a short overview of the course.
- Optionally, upload or link to an Listing Image to be used for the course display in the front-end.
- Enter a Course Language.
- Click the Next button to continue to the next step.
- Optionally, you can upload or link to a Featured Video, to be displayed when users view the course details in the Course Overview page.
- Enter a Course Description, a detailed description of the course. You'll have the full power of the WordPress visual editor for customizing the description.
- In the Course Structure section, you'll have options for customizing the course structure. You'll also see a list of units, which will be empty initially. You'll be able to add and edit units later.
- Tick the 'Show the Course Overview structure and Preview Options' to display the units listing in the Course Overview page. This information will otherwise only be available for students enrolled in the course.
- Tick the 'Display Time Estimates for Units and Lessons' to show a time estimate option when editing the units.
- Click the Previous button to go back to the previous section or the Next button to continue to the next step.
- You can assign as many instructors as you like in the Course Instructors section. You'll be able to choose from any of the users in your standard WordPress Users list.
- Easily send an email invite through the Invite New Instruction section. Simply enter a First Name, Last Name and E-Mail address then press Send Invite.
- Click the Previous button to go back to the previous section or the Next button to continue to the next step.
- Enter the dates your course will be available within the Course Dates section. Or tick the 'This course has no end date' option.
- Otherwise you can select the Start Date and End Date using the pop-up date picker.
- Similarly, in the Enrollment Dates section, tick the 'Users can enroll at any time' option to allow enrollment any time.
- Otherwise you can again select the Start Date and End Date using the pop-up date picker.
- Click the Previous button to go back to the previous section or the Next button to continue to the next step.
- To limit the class size, tick the 'Limit class size' option end enter a value for the limit.
- Tick the 'Allow Course Discussion' option to allow open discussion between students and instructors.
- Tick the 'Show student Workbook' option to allow students to see their progress.
- Click the Previous button to go back to the previous section or the Next button to continue to the next step.
Tick the 'This is a Paid Course' option to display payment options. For payments, CoursePress Pro integrates with both MarketPress and WooCommerce. Please note that currently, only one of them (either MarketPress or WooCommerce) should be activated, activating both at the same time may cause conflicts. For MarketPress integration, the first time the above payment option is selected, you'll be presented with a message about MarketPress, like so:
Click the Begin Activating MarketPress link to begin the MarketPress activation process and expose the payment options. Or for WooCommerce integration, simply ensure that WooCommerce is installed and activated, then tick the 'Use WooCommerce to sell courses' setting at CoursePress Pro > Settings. You can optionally select to redirect WooCommerce product posts to a parent course as well.
WooCommerce settings at CoursePress Pro > Settings
With either MarketPress or WooCommerce installed and activated, and with the settings configured as above, you'll then see payment options for your Course.
- Tick the 'Automatically generate Stock Keeping Unit' option to have CoursePress Pro automatically create a unique SKU. Otherwise you can enter a SKU value yourself.
- Enter the Price.
- Tick the 'Enabled Sale Price' option to specify that this course on sale.
- Enter a Sale Price to be used with the above option.
- If you're using MarketPress, you'll have an option to Edit Payment Gateways where you'll be presented with a pop-up dialog and will be able to select and configure the payment gateways.
Once you're done configuring the payment settings, you can click the Previous button to go back to the previous section. Or click the Done button to complete the course creation process and save the new course.
Let's have a look through the Courses at CoursePress Pro > Courses.
You'll see a list of all the Courses you've created.
- User the Search Courses section to search through the existing courses.
- Click the Delete icon to delete a course.
- Clicking the name of the course will take you to the edit section for the course. And clicking the Students link will take you to the Students tab of the edit page.
On wide-screen devices, you'll see a few extra options in the list.
You'll see a Published column where you can easily publish or unpublish a course.
You'll also see a Bulk Actions drop-down. You can tick any courses in the list, select an option from the drop-down and click Apply to apply an action to all the ticked courses. The available Bulk Actions are as follows:
- Publish
- Unpublish
- Delete
You can also hover your mouse over any course in the list to see a quick list of links.
Those links are as follows:
- Edit - quickly get to the Course Overview page for this course
- Units - go to the Units page
- Students - go to the Students tab
- View Course - view the course in the site's front-end
- View Units - view the units through the site's front-end
Let's have a look at the Course Overview for the course we created earlier by clicking the Edit link.
Here, you'll see a number of tabs (Course Overview, Units and Students) along with some other options.
- You'll see an accordion list of the various Steps created earlier. Click on any of them to expose the settings for each.
- Quickly publish the course using the Publish Course switch.
- Click the Preview button to see a preview of the Course in the site's front-end.
Let's go to the Students tab.
The Students tab lets you quickly access the Students for this Course.
- Easily add a student by selecting a name from the drop-down selector then pressing the Add Student button.
- Click the Withdraw icon to withdraw a Student from the course.
- Quickly invite a Student to this Course using the 'Invite a Student section'. Enter a First Name, Last Name and a valid E-Mail address, then press Invite.
- Clicking on the Profile icon will take you to a Student Profile page for the selected Student.
Here, you'll see some basic details about the Student along with some helpful links and a list of Courses the Student is enrolled in.
- Quickly email the Student by clicking their Email address.
- Click the Edit icon to edit this Student's user account.
- Click the View Workbook button to go to the view this Student's Workbook. We'll go into more detail on this below.
- Click the Course title or the Edit link next to it to go to the Course Overview page for the selected Course.
- Take a look at this Course through the site's front-end by clicking the arrow icon.
Let's go back and have a look at the Units tab.
Units are the actual content of the Course. Lets go through the various options for adding and editing them.
You'll see a list of existing Units which you can click to edit the settings for. Hovering your mouse over a Unit will display an arrow icon to indicate you can drag it. You can re-order the Units by dragging and dropping them into place by this means.
Hover your mouse over a Course, then drag and drop to re-order it.
Click the Add New Unit button to add a Unit.
In the upper right corner of this tab, you'll see a Publish Course toggle switch that can be used to quickly publish/unpublish the Course. Below this, you'll see a number of sub-sections for editing the Unit.
- Use the toggle switch in the upper right to switch the Unit to Draft or Live mode.
- Enter a title in the Unit Title field.
- Enter a date for the Unit Availability. A drop-down selector will display to let you easily select a date.
- Tick the 'User needs to complete current unit in order to access the next one' option to require the Student to complete this Unit before progressing.
- Click the Save button to save your changes and the Preview button to preview the Unit in your site's front-end.
- Click the Delete Unit icon to delete this Unit.
Pages can be used to separate sections of Unit content.
- Select a Page by clicking one of the Page numbers.
- Add a Page by clicking the + icon.
- Click the Delete Page button to delete the selected Page.
- Enter a name for the Page in the Page Label field.
- Tick the 'Show page label on unit' option to have this Page's label displayed when Students view the Page in the front-end.
This sub-section provides a number of elements you can use to build the Page.
Simply click any of the element icons and you'll see a sub-section added below that you can use to configure the settings. Let's take a quick look through each.
- Text - used for basic text information
- Image - for adding images
- Video - to add video content
- File Download - to provide a file for Students to download
- Section Break - to visually separate sections
- Multiple choice - easily add a multiple-choice quiz
- File Upload - allows Students to upload a file for the Instructor
- Single Choice - create a single-choice quiz for Students
- Answer Field - ask a question and provide a single or multiple line field for Students to answer.
At the bottom of the page bottom, you'll see a couple more buttons and another toggle switch.
- Click the Save button to Save your changes to the Unit.
- Click the Preview button to take a look at the Unit in the site's front-end.
- Use the toggle switch to change to Draft or Live mode.
Courses need instructors so lets see how to add and edit them at CoursePress Pro > Instructors.
Here, you'll find a list of all the Instructors you've configured. Instructors are basically WordPress users who are designated as Instructors for a course.
- You can easily search through the Instructors using the Search Instructors section.
- Click the 'Add New' button to add a new Instructor. This will take you to the Users > Add New page in WordPress, where you'll be able to add new users.
- Click the Delete option to delete a particular Instructor.
When viewing on wide screen devices, you'll be also see a Bulk Actions drop-down.
To utilize Bulk Actions, simply tick the Instructors you'd like to edit, select one of the actions from the drop-down and click Apply. The Bulk Actions available are as follows:
- Delete
- Unassign from all courses
Clicking the Profile option will take you to the Instructor's profile page.
You'll see a list of all the Courses the Instructor is associated with along with links to each.
You'll also see a small Profile section with additional details and an 'Edit Profile' link to go to the user editor page for this Instructor's user account.
Courses also need students, so lets see how to add and edit them at CoursePress Pro > Students.
Here, you'll find a list of all the Students listed in the system configured. Students are basically any WordPress user who is enrolled in a course.
- You can easily search through the Students using the Search Students section.
- Click the 'Add New' button to add a new Student. This will take you to the Users > Add New page in WordPress, where you'll be able to add new users.
- Click the Delete option to delete a particular Student.
When viewing on wide screen devices, you'll be also see a Bulk Actions drop-down.
To utilize Bulk Actions, simply tick the Students you'd like to edit, select one of the actions from the drop-down and click Apply. The Bulk Actions available for Students are as follows:
- Delete
- Withdraw from all courses
Clicking the Profile option will take you to the Student's profile page. You'll see a list of all the Courses the Student is enrolled in along with links to each. You'll also see a small Profile section with additional details and an 'Edit Profile' link to go to the user editor page for this Student's user account.
Let's go through the plugin's settings at CoursePress Pro > Settings.
Here's you'll see a number of sub-sections for customizing various aspects of the plugin.
Let's take a look at these sub-sections, starting with the General settings.
The General settings includes several sub-sections itself, the first being for options to customize the url slugs.
The slugs available for customization, along with default values, are as follows:
- Course Slug https://yoursite.com/_courses_/
- Units Slug https://yoursite.com/my-course/_units_/
- Course Notifications Slug https://yoursite.com/my-course/_notifications_/
- Course Discussions Slug https://yoursite.com/my-course/_discussion_/
- Course New Discussions Slug https://yoursite.com/my-course/discussion/_add_new_discussion_/
- Course Grades Slug https://yoursite.com/my-course/_grades_/
- Course Workbook Slug https://yoursite.com/my-course/_workbook_/
- Enrollment Process page https://yoursite.com/_enrollment-process_/
- Login page https://yoursite.com/_student-login_/
- Sign Up page https://yoursite.com/_courses-signup_/
- Student Dashboard page https://yoursite.com/_courses-dashboard_/
- Student Settings page https://yoursite.com/_settings_/
- Instructor profile slug https://yoursite.com/_instructor_/
Further down the page, you'll see additional settings.
Adjust the settings as you need and press the Save Changes button to save.
Through the E-Mail Settings sub-section, you can customize the contents of the notification e-mails used by the plugin.
The following are the various e-mails you can configure, along with codes you can use within the content to provide dynamic values:
- User Registration E-mail - codes available: STUDENT_FIRST_NAME, BLOG_NAME, LOGIN_ADDRESS, COURSES_ADDRESS, WEBSITE_ADDRESS
- Course Enrollment Confirmation E-mail - codes available: STUDENT_FIRST_NAME, BLOG_NAME, LOGIN_ADDRESS, COURSES_ADDRESS, WEBSITE_ADDRESS, COURSE_ADDRESS
- Student Invitation to a Course E-mail - codes available: STUDENT_FIRST_NAME, COURSE_NAME, COURSE_EXCERPT, COURSE_ADDRESS, WEBSITE_ADDRESS
- Student Invitation with a Passcode to a Course E-mail - codes available: STUDENT_FIRST_NAME, COURSE_NAME, COURSE_EXCERPT, COURSE_ADDRESS, WEBSITE_ADDRESS, PASSCODE
- Instructor Invitation E-mail - codes available: INSTRUCTOR_FIRST_NAME, INSTRUCTOR_LAST_NAME, INSTRUCTOR_EMAIL, CONFIRMATION_LINK, COURSE_NAME, COURSE_EXCERPT, COURSE_ADDRESS, WEBSITE_ADDRESS, WEBSITE_NAME
Be sure to press the Save Changes button when you're done making changes.
Instructors have special capabilities to allow them to create Courses. Let's have a look through those capabilities.
Capabilities are divided into sub-sections, as follows: General
- Access to plugin menu
- Access to the Courses menu item
- Access to the Intructors menu item
- Access to the Students menu item
- Assessment
- Reports
- Notifications
- Access to the Settings menu item
Courses
- Create new courses
- Update any assigned course
- Update courses made by the instructor only
- Delete any assigned course
- Delete courses made by the instructor only
- Change status of any assigned course
- Change status of courses made by the instructor only
Units
- Create new course units
- View units in every course ( can view from other Instructors as well )
- Update any unit (within assigned courses)
- Update units made by the instructor only
- Delete any unit (within assigned courses)
- Delete course units made by the instructor only
- Change status of any unit (within assigned courses)
- Change statuses of course units made by the instructor only
Instructors
- Assign instructors to any course
- Assign instructors to courses made by the instructor only
Students
- Invite students to any course
- Invite students to courses made by the instructor only
- Withdraw students from any course
- Withdraw students from courses made by the instructor only
- Add students to any course
- Add students to courses made by the instructor only
- Add students to courses assigned to the instructor only
- Add new users with Student role to the blog
- Send bulk e-mail to students
- Send bulk e-mail to students within a course made by the instructor only
- Delete Students (deletes ALL associated course records)
Notifications
- Create new notifications
- Create new notifications for courses created by the instructor only
- Create new notifications for courses assigned to the instructor only
- Update every notification
- Update notifications made by the instructor only
- Delete every notification
- Delete notifications made by the instructor only
- Change status of every notification
- Change statuses of notifications made by the instructor only
Simply tick the Capabilities you want to allow, then click the Save Changes button to save.
CoursePress Pro provides scores of shortcodes that you can use within your site's content areas to provide plugin features as needed.
This page shows detailed information to help with the shortcodes but here's a list of all the shortcodes with some helpful info:
- Instructors List [course_instructors] Display a list or count of Instructors ( gravatar, name and link to profile page )
- Instructor Avatar [course_instructor_avatar] Display an instructor’s avatar.
- Instructor Profile URL [instructor_profile_url] Returns the URL to the instructor profile.
- Course Details [course] This shortcode allows you to display details about your course. Note: All the same information can be retrieved by using the specific course shortcodes following.
- Course Title [course_title] Displays the course title.
- Course Summary [course_summary] Displays the course summary/excerpt.
- Course Description [course_description] Displays the longer course description (post content).
- Course Start Date [course_start] Shows the course start date.
- Course End Date [course_end] Shows the course end date.
- Course Dates [course_dates] Displays the course start and end date range. Typically as [course_start] - [course_end].
- Course Enrollment Start [course_enrollment_start] Displays the course enrollment start date.
- Course Enrollment End [course_enrollment_end] Shows the course enrollment end date.
- Course Enrollment Dates [course_enrollment_dates] Displays the course enrollment start and end date range. Typically as [course_enrollment_start] - [course_enrollment_end].
- Coure Enrollment Type [course_enrollment_type] Shows the type of enrollment (manual, prerequisite, passcode or anyone).
- Course Class Size [course_class_size] Shows the course class size, limits and remaining seats.
- Course Cost [course_cost] Shows the pricing for the course or free for unpaid courses.
- Course Language [course_language] Displays the language of the course (if set).
- Course List Image [course_list_image] Displays the course list image. (See [course_media])
- Course Featured Video [course_featured_video] Embeds a video player with the course’s featured video. (See [course_media])
- Course Thumbnail [course_thumbnail] Shows the course thumbnail image that is generated from list image. (See [course_media])
- Course Media [course_media] Displays either the list image or the featured video (with the other option as possible fallback).
- Course Join Button [course_join_button] Shows the Join/Signup/Enroll button for the course. What it displays is dependent on the course settings and the user’s status/enrollment. See the attributes for possible button labels.
- Course Action Links [course_action_links] Shows "Course Details" and "Withdraw" links to students.
- Course Calendar [course_calendar] Shows the course calendar (bounds are restricted by course start and end dates). Will always attempt to show today’s date on a calendar first.
- Course List [course_list] Displays a listing of courses. Can be for all courses or restricted by instructors or students (only one or the other, if both specified only students will be used).
- Featured Course [course_featured] Shows a featured course.
- Course Structure [course_structure] Displays a tree view of the course structure.
- Course Signup/Login Page [course_signup] Shows a custom login or signup page for front-end user registration and login. Note: This is already part of CoursePress and can be set in CoursePress Settings. Links to default pages can be found in Appearance > Menus > CoursePress.
- Student Dashboard Template [courses_student_dashboard] Loads the student dashboard template.
- Student Settings Template [courses_student_settings] Loads the student settings template.
This is just a quick link back to the welcome page, so you'll always have access to the 'Getting Started' section through this link.
CoursePress Pro works with any standard WordPress theme, but it also includes a built-in theme to help you get started. Lets switch to that theme at Appearance > Themes.
Locate the CoursePress theme in the themes list.
Click the Activate button to activate it!
CoursePress Pro also includes a number of widgets for use in your theme's sidebar areas, as follows:
- Featured Course - displays a featured Course
- Latest Courses - shows a list of recently published Courses
Lets take a look at the front-end experience from the user's standpoint! Here's an example of how it could look with the CoursePress theme when viewing the front page.
Clicking the Details link or the Course's image takes you to the Details page for the selected Course.