Many of the LMS users don’t want their students to access the content through the standard WordPress dashboard and the default “My Courses” menu link. This post will explain how you can do this step by step.
Note: this post explains the slow and free method of doing this. There is also fast and easy method: by purchasing the Namaste! LMS Theme which does all this automatically with just a few clicks.
1. Hide the dashboard
Obviously you need first to restrict the access to the dashboard. You can do this by hacking your WP theme or, much easier, by using a plugin like Remove Dashboard Access. There are more options to do this shown here.
Don’t do stupid things like protecting the whole wp-admin directory with .htaccess. This will stop plugins using ajax from working properly. And you will be using such plugins if you want to run quizzes.
2. List your courses
With or without the “My courses” page and the shortcode that exposes it, you need some way for the users to access the courses you offer.
We recommend to use the namaste-mycourses shortcode because it will dynamically show the courses with enroll buttons, links to lessons etc. But you can also work without it by simply publishing a page with all your courses and include enroll button in each of them.
3. List the lessons
There are several ways you can list the lessons without using the dashboard.
a) Use the namaste-mycourses shortcode which will repeat the dashboard. You will still need to use option b) in this case so the student can access the lessons from the course page.
b) Use the shortcode namaste-course-lessons inside the course contents. It will automatically list all the available lessons in the course with links to them. Check the internal Help page for more information about setting up your preferred ordering criteria
c) A third way to handle this would be to again use namaste-course-lessons shortcode but outside of the course page. Maybe you’ll want to manaually list all courses and lessons, or loop through courses inside your theme. the second argument of the shortcode allows you to specify course ID. So you can list courses and then use the shortcode like namaste-course-lessons status 5 to list the lessons in course with ID 5.
4. Handle assignments
You may want to include assignments to your lessons. Through the dashboard there are automated links to the assignments so it’s easy. But how to handle the things if you don’t use dashboard?
Use the namaste-assignments shortcode. It can be used inside the lesson contents in which case the shortcode needs no arguments. In case you want to list assignments in some other way (for example on a table with all the lessons in the course) you need to pass the lesson_id artument like this:
You can do this multiple times on the page in case you want all lessons and their assignments to be shown in one place.
This shortcode will take care to automatically generate “submit solution” and “view solutions” links.
User’s earned certificates can also be exposed outside of the dashboard. Just use the namaste-mycertificates shortcode on a designated post or page.
If you have the Namaste! Reports module you can also show the advanced reports using shortcodes. To display the user’s own reports use the shortcode namaste-reports-user. If you are building a site where student’s reports can be seen by anyone else, you can use the shortcode by passing user ID as second parameter like this: namaste-reports-user 2.
The user’s rankings can also be displayed using the namaste-reports-rank shortcode. You can copy it directly from the User Rankings page in your administration as it includes some parameters.
7. General advice
Ideally you don’t want non-logged in users to see all those “My courses”, “My certificates” etc links on your site because they can’t use them until they log in. So you may want to either create a separate page “My LMS” or something like that and list the links on it (with a warning that users should log in), or use is_user_logged_in() in your blog theme to make the links conditionally show or hide.
12 thoughts on “How To Create Your LMS Without WordPress Dashboard for Students”
If you had the ability to make changes to buttons, page content driven by shortcodes for things like My Courses, I would gladly purchase a PRO version for those things.
Maybe try Poedit. It’s not optimal but you can change any text string (I use it for translating plugins, Namaste included)
Is there a way to ONLY show someone the courses they bought (paid courses) from Namaste Pro?
Not yet. We’ll add such shortcode in to-do.
Any idea when that shortcode will be available?
You can use namaste-mycourses and pass the attribute enrolled=1 to limit this page to displaying courses the user has enrolled to. This is the same thing.
How can I change the text on the button- Click to Enroll. My courses are all paid, and after they pay they still have to enroll- this confuses people. If it said “click to start” it would be better for me.
We have just added params to change the texts. Please update the core Namaste! LMS plugin and see the internal Help page for more information.
I’m not sure what you mean by “after they pay they still have to enroll”. It doesn’t work like this, once paid the student is automatically enrolled. If you are not getting this you need to check your payment error log in Namaste Settings page.
Thought I was making good progress then found out users have to be looged in to WordPress. Obviously students need to log in but I’d rather it wasn’t the WordPress login page, and I certainly don’t want them to see or even sniff the dashboard (if I’d known Lamaste worked like this earlier would have probably chosen another LMS). Is there a plugin to take the enrolling student to an unbranded login form, or if I wished to create one which parameters would I need to pass?
You can use this: https://wordpress.org/plugins/theme-my-login/
or this https://bg.wordpress.org/plugins/admin-custom-login/
Ready to upgrade to paid version of Namaste but, I need to be sure this system is able to award a certificate to my students…
I have Watu installed and it shows the student has passed the exam but ‘My Certificates’ (Namaste) says ‘You have not achieved any certificates yet’.
The wole point of setting up the course and exam is to provide a certificate. Does it actually work? If so, what do I need to do to get the two plugins working together?
Certificates work fine. You don’t need both plugins – there are certificates for quizzes and certificates for courses. You can use either or both. Just make sure you are looking at the right place – if you don’t issue quiz certificates, you can entirely remove the My Certificates page under quizzes.