LearnDash has ample functionality packed into the core, and several extensions to add more features (we’ve built quite a few too!)
For anyone who’s serious about building an LMS with WordPress, wouldn’t go wrong with LearnDash.
But a plugin does not an LMS make.
Unlike Moodle, Blackboard, and Canvas, LearnDash is not a standalone LMS. It’s an extension of WordPress. Sure, it has all learning management system capabilities, but the plugin itself can’t provide students and teachers an e-learning interface.
You would need WordPress to set up your e-learning website.
Now, I understand that as an Instructor, Course Creator, Tutor, this might seem like an uphill task. But you need not fret.
I’ve designed this guide to handhold you through the entire LMS setup process.
Step #0 Setting Up WordPress
If you don’t have your WordPress site set up, you’ll need to install WordPress. WordPress installation is pretty simple.
You’ll need to login into your web host’s cPanel.
Under ‘Databases‘ you should notice the ‘MySQL Database Wizard‘. Use this wizard to create a MySQL database and a database user. These steps are pretty straightforward. Remember to note down the database name, username, and password. You’ll need these details when you install WordPress.
If you have purchased a WordPress hosting service, you’ll notice a WordPress installation wizard present in the cPanel. This wizard will guide you through WordPress installation.
If not, you’ll need to install WordPress manually.
- You need to start by downloading the latest version of WordPress and extracting the contents of the zip file.
- Now, all these files have to be uploaded to your web host. To upload these files, you have to create an FTP account. Once again, in your cPanel, under ‘Files‘ you should notice ‘FTP Accounts‘. Use this option to create an FTP account.
- Using an FTP client of your choice (I use Filezilla), upload your WordPress files.
- Connect to your web host using the FTP account you have created and under ‘public_html‘ copy all the files under the ‘WordPress‘ folder. (Do not upload the folder entirely, select and upload all the contents)
Once you’ve done all of the above, visit your website and you should be greeted with the WordPress installation wizard. 😀
Follow the wizard, set the language WordPress needs to be installed in, the database name, username, and password, set the table prefix to a short value of your choice, enter site details, and create a user.
Step #1 Installing a Theme
Once you’ve got your website up and running, you can proceed with installing a theme. A theme is the ‘skin’ of your website. It dictates the look and feel of your website- not just the colors, but also the layout of your pages.
Now, LearnDash should “behave” well with any theme you choose.
You could choose any theme because you shouldn’t face any problems with LearnDash. Your course, lesson layouts should be laid out as expected.
But the blue ‘Take This Course’ button LearnDash adds, might stick out on your otherwise red or yellow website.
Once you decide on a theme you like installation is quite easy, just follow the below steps:
- Log in to your WordPress admin panel.
- Go to Appearance -> Themes, and click on Add New.
- Use the Upload option to upload a zipped copy of the theme.
- Activate it!
Do refer to the theme’s installation guide for additional setup details.
Now, installing the theme won’t suffice. You’ll need to create the menu, the homepage, contact page and so on.
But that’s step 4. 😀
We first need to setup LearnDash.
Step #2 Setting up LearnDash
LearnDash can be installed like any other plugin that you would install on WordPress.
- Once again, if you’re not logged in, log in to your WordPress admin panel.
- Go to Plugins -> Add New
- Upload the zipped copy of the LearnDash plugin, and activate it.
You’ll notice a LearnDash LMS menu created.
Using the options under this menu, you’ll be able to create your courses, lessons, topics and quizzes.
- Under LearnDash LMS -> Settings -> LMS License, be sure to enter your LearnDash support license.
- Under PayPal Settings set your PayPal id in case you want to handle payments through LearnDash.
Now, creating a course/lesson/topic is the same as creating a post or a page.
Creating a Course
To create a course, head over to LearnDash LMS -> Courses -> Add New.
- Add the course name and description.
- If you want to categorize the course, create a new course category.
- Under your LearnDash course settings, the important options you need to focus on are:
- Course Price Type– Set the course to
- Open: if you want all your students to automatically be enrolled for the course.
- Closed: if the course is closed (and cannot be accessed). Selecting this option will reveal a Custom Button URL option, which has to be used to enter a purchase link for course access.
- Free: if the course is free, but only those students who opt for it, will be enrolled in it.
- Buy Now: to set a price for the course, which can be purchased. This purchase can be made by the default payment option in LearnDash (PayPal).
- Recurring: for courses which can be purchased on a subscription basis.
- Course prerequisites– Surely, this does not apply to the first course you create. But for subsequent courses, you can choose the option of setting another course as a prerequisite for the course you’re creating. Setting this option prevents a student from taking up a course without completing the prerequisite course. Once you enable this option, a drop-down menu will be displayed where you can select the course/s you want to assign as prerequisites. If you select multiple courses, you have the option of either allowing all of the courses to be complete or any one course out of the lot.
- Disable Lesson Progression– In case you do not need your students to take up lessons in an order, you can set this option.
- Expire Access– As the title suggests, this option expires a student’s access to a course after a set duration.
Once you add the needed details, remember to publish the course.
You can then proceed to add Lessons and Topics, or other Courses.
Visual Course Builder
With version 2.5.0, LearnDash now integrates a drag and drop course builder using which you can create Course, Lessons, Topics, and Quizzes visually.
Once you name a course and add its contents, scroll down to meet the Visual Course Builder. To add lessons, name a lesson and just drag and drop it to the respective course.
Creating a Lesson
Creating a Lesson is quite similar to creating a course. But unlike a Course, the settings for a lesson are a bit different.
- Associated Course– Set the course of which the lesson is a part.
- Forced Lesson Timer– Is the minimum amount of time a student has to spend on a lesson before it can be marked as complete.
- Upload Assignment– Check this option if a student has to upload an assignment after the completion of a lesson. Uploaded assignments are made available under LearnDash LMS -> Assignments
- Sample Lesson– If this option is checked, then this lesson will be available to students even if the course is paid.
- The ‘Make lesson visible X days after sign-up’ and ‘Make lesson visible on a specific date’ can be used to drip feed course content.
Lessons can be ordered using the ‘Order’ attribute.
Creating a Topic
As you know in LearnDash, lessons contain topics. The options for a topic are same as that for a lesson. Similar to a lesson, you can make assignment upload mandatory, force a topic timer, or order topics using the ‘Order’ attribute.
Creating a Quiz
Ahh! Quizzing in LearnDash.
I’ve always been of the opinion that LearnDash needs to improve its quiz module. Apart from adding more functionality, the interface could use a fix up as well.
Now, I hope you found creating courses, lessons, and topics fairly simple… because creating quizzes is not as straightforward! The primary problem is the overwhelming amount of options.
But if things were that easy, you wouldn’t need this guide to begin with! :-p
Since the quiz section is quite extensive, I thought it would be a better idea to separate it out into a different section. So, I’ve created a helpful 29-page whitepaper, that you can download using the form below 😀
Creating a Certificate
If you want to award students certificates on successful completion of courses, you can do so by creating a certificate in LearnDash and associating it with course or quiz.
Certificate creation in LearnDash requires a bit of HTML knowledge, and quite a bit of trial and error. :-p LearnDash does provide sample certificates to help you out though.
To create and add a new certificate here’s what you need to do:
- Create a certificate image 21.5 x 28cm in size
- Go to your WordPress admin panel, LearnDash LMS -> Certificates -> Add New
- Add a title, and set the featured image as the certificate image you have created
- For the description, switch to the plain text editor and appropriate spacing and then display the student’s name using the [usermeta field=”display_name”] shortcode
- To display quiz details such as course title, percentage or score, use the [quizinfo] shortcode, for example:
- [quizinfo show=”course_title”] to show the course title
- [quizinfo show=”quiz_title”] to show the quiz title
- [quizinfo show=”percentage”]% to show percentage achieved
- [quizinfo show=”score”] to show the student’s score
- Preview the changes and publish the certificate.
Associating a Certificate with a Quiz
In LearnDash, certificates can be associated only with a quiz. To associate a certificate with a quiz,
- head over to LearnDash LMS -> Quizzes, and edit an available quiz
- In the settings set the Associate Certificate option to the certificate you have created
- Update the quiz
Step #3 Setting up Paid Course Access
If you’re looking to monetize your e-learning website right away, you’ll need to either take the e-commerce plugin route or the membership plugin route. There are certain differences between selling courses and selling memberships. The option you choose will mostly depend on the number of courses you have.
Using an E-commerce Plugin
Now, LearnDash does provide an option to sell courses using PayPal, but for additional e-commerce capabilities such as sale pricing, the option to bundle courses, discount coupons, you’ll be better off with an e-commerce plugin.
LearnDash provides integrations with popular e-commerce plugins on WordPress – WooCommerce and Easy Digital Downloads. Now the advantage both plugins bring to the table is different. Easy Digital Downloads can be used to sell purely digital products, while WooCommerce can be used to sell physical goods along with virtual products.
However, the path to integrating either of the plugins with LearnDash is pretty similar.
- You need to start by installing either of the plugins and setting them up (WooCommerce provides a setup wizard, so this could be an advantage for the not-so-tech-savvy audience)
- Based on the plugin you choose, you need to install the integration plugin with LearnDash- this would be either the WooCommerce Integration plugin or the EDD Integration plugin
- You may want to set up an additional payment gateway specific to your location or currency. Now’s the time to do so. You’ll need to hunt for the payment gateway plugin (or contact a payment gateway developer if the payment gateway is a Can’t-do-without and a ready plugin is not available)
Linking a Course to a Product
- The process of creating a paid course begins with creating a paid product. You have to then link a LearnDash course to the product.
- For example in WooCommerce, you need to create a ‘Course‘ product and then link one or more LearnDash courses to this product.
- As for the course, you need to set the ‘Price Type‘ as ‘Closed‘, and enter the product URL as the ‘Custom Button URL’
Using a Membership Plugin
As opposed to selling courses, if you were looking to sell memberships and control student access, you’ll need a membership plugin. And out of the many membership plugins available, the one I’d recommend is Paid Membership Pro.
The steps to integrate LearnDash with a membership plugin are the same as integrating it with an e-commerce plugin.
- You have to install the membership plugin- Paid Membership Pro,
- and then the integration plugin with LearnDash.
Linking Courses to Membership Levels
Within Paid Membership Pro, you can associate one or more courses with a membership level. For courses associated with a membership level, set the ‘Price Type’ as ‘Closed’, and enter the membership registration page URL as the ‘Custom Button URL’. Now, to access a course, the student would have to register as a member.
One more step to go…
Step #4 Creating Pages
So far, we hadn’t really focused on the front-end of your e-learning website. There’s a lot that can be done to make your site presentable. However, a few things are a bare minimum, such as important pages and the menu.
Now, the theme you pick might provide demo content. And installing the demo content might create the needed pages. For example, since eLumine is a LearnDash theme, it creates generic pages, such as the homepage, contact page and pages specific to an e-learning website such as the course archive page and shop page.
But if you’re like me, and are looking to take the manual setup route, here’s how you can go about it.
Creating the Homepage
The homepage is where most of your site visitors will land.
It should display a clear, concise message of what your site is about, and ideally display the courses available or a student registration and login form.
Technically, creating a homepage is as simple as creating any other page in WordPress.
- You head over to Pages -> Add New
- Set the title… (usually it’s set to ‘Home’), add the needed elements, and ‘Publish‘ the page.
- Now, under Settings -> Reading -> Front Page Displays, select ‘A static page‘ and set the ‘Front Page‘ to the page you’ve just created.
- Remember to ‘Save Changes‘ made.
Similarly, you can create another page- Blog– and set it as the ‘Posts Page‘.
Setting Up Registration & Login
By default, WordPress redirects users to the admin area once they log in.
You wouldn’t want users to be messing around in your admin area, especially when everything that’s relevant to them is on the frontend.
For this very purpose, it’s best not to redirect them to the backend, and the plugin that handles this task is Theme My Login.
- The plugin adds a customizable widget for login anywhere on your site
- You can redirect users to log in and log out based on their user role
- The best part is, the widgets and pages blend seamlessly with the rest of your website!
Adding a Contact Page
A contact page is the most crucial page on any website. You can very easily create a contact page by adding a new page on your site and adding a contact form.
Both these plugins provide shortcodes to add the contact forms on a page.
Creating a Menu
Now, users will land on your website and register as students. But then, what’s next?
The courses of course! :-p
To make it easy for students to sift through courses available, you’ll need to provide a link to the course archive page (the page which essentially lists all the courses).
So, you need to create a navigation menu.
- In your admin panel, go to Appearance -> Menus
- Create a new menu, let’s call it the ‘main menu’
- Add pages you’ve created, for example, home, contact, blog, from the pages list
- And for the course archive page, add a ‘Custom Link‘ to ‘/courses/‘
- Set this menu as the ‘Primary Navigation Menu‘ and save it
And with this step, your shell LMS setup should be ready! 😀
With LearnDash, a theme and needed plugins setup, your LMS should be ready for business!
But this is a fairly basic LMS setup. There’s a lot more you can add, for example
- the ProPanel for additional reporting,
- BuddyPress for a social network with bbPress for discussion forums,
- a gamification module with BadgeOS
- a teacher/instructor role with Instructor Role extension,
- LRS integration… and so on.
But whether you need these or not, would depend on your specific requirements.
In case you have your doubts or need further assistance, you can always rely on our LMS setup assistance. We handle LearnDash setup for you and guide you through LearnDash settings, making it simple for you to add course content and make changes if needed. With our WordPress and LearnDash experience, we’ll resolve any glitches you face along the way!
That’s all from my end for now…
Happy teaching! 😀