Student Reviews on Courses

From version 2.5.5 Namaste! LMS supports student reviews on completed courses. The option is enabled per course basis so you can keep it off for some courses:


checkboxes to accept reviews

If you select the checkbox to hold reviews for moderation, the reviews will not be displayed before you approve them.

Just enabling the checkboxes will not allow students to place reviews. You need to also use the shortcode [namaste-review course_id=X] where X is the course ID. The review box will be shown in the place where you have pasted the shortcode:

form for submitting review

The form will appear only after the student has completed the course. For this reason it’s better not to place any text like “Please review this course” before the shortcode. Instead, enclose it in the shortcode so it appears along with the form only when appropriate.

After the student has submitted a review, they are not able to change it or submit another.

By using the [namaste-reviews course_id=X show=”user_login” number=10]  you can display the latest 10 reviews on the course page (or any other page).

This is how the published reviews look:

On the admin side

The pending and published reviews will appear in the Student Reviews page in your Namaste! LMS menu. You can filter them by course and status.

You can delete reviews any time and approve these who are pending approval:

Manage reviews page

If you are using classes / groups from Namaste! PRO the class managers will have access only to the reviews for courses, accessible by them. This in case you have chosen to enable access to reviews at all for their role (From the Namaste! LMS Settings page -> Roles that can manage -> Fine-tune these settings).

Using Namaste! LMS WIth a Membership Plugin To Sell Subscription Access

Namaste! LMS can be used with any membership plugin. Courses, modules, and lessons are just custom post types so any plugin which allows protecting custom post types will do the work. Here we have created a quick and easy guide about selling membership access Namaste! LMS content by using the plugin Paid Membership Subscriptions. It’s a free and very easy to use plugin.

But first:

Why Use a Membership Plugin?

You don’t need to. Namaste! LMS already allows you to charge for courses even in it’s free core. With the Pro version you can add things like delayed access, discount codes, and so on. You can also sell access to courses through WooCommerce using our free WooCommerce bridge. So you do not need to use a membership plugin to make money with paid course.

There are two cases when going the membership route makes sense:

  • You are already using membership subscription plans on your site. It may (or may not) make sense to include the LMS content in some of your membership plans.
  • You want to charge your users at recurring basis rather than per-course. This is not too common in the LMS world but is an absolutely valid approach.

Because of the many existing membership plugins we decided not to build such a redundant functionality in Namaste! LMS. So you can just use some of the existing plugins with the LMS.

Using The Free Plugin Paid Membership Subscriptions

This plugin is really easy and good and deserves more popularity. The reason we are choosing it for this guide is that their free version is perfectly compatible with Namaste! LMS and you can use it as is. It’s always a good idea to have a look at what they offer as a Pro version however.

So, here’s how to use it with Namaste! LMS step by step:

  • Install and activate the plugin (you don’t say!)
  • Create one or more subscription plans:
    creating a subscription plan
  • Go to edit a course, lesson, or module and restrict the access to it for users subscribed for your membership plan:

    restrict box

That’s it. You can of course have multiple plans attached to multiple courses, and so on. You can explore the documentation of the memberhsip plugin on the official WordPress repository page to learn about all the configurations. But it will work well even with these default settings.

Course Bundles in Namaste! PRO

A new exciting development in the learning management system Namaste! LMS (PRO module) lets you sell multiple courses as bundles. This gives you excellent flexibility and more options to monetize your work. You can combine any courses within a bundle and sell them exactly the same easy way you sell courses – PayPal and Stripe support is built in.

Let’s see how this works:

Creating the bundle

This is simple. Go to Course Bundles link under your Namaste! LMS menu. Note that this link is available if you have Namaste! PRO version 1.5.3 or newer installed. Click to create a new bundle:


The bundle name is mostly useful for management purposes so you know what is it about. Set up a non-zero price.

Select the paid courses which this bundle will give access to. You will see only non-free courses for selecting.

Entering bundle redirect URL is optional but highly recommended. This is the URL where the user will be redirected after purchasing the bundle. It could be a page with a welcome message, links to the purchased courses, and so on. Or at least the URL of the course you think is best to be started first. If you skip entering URL, the program will redirect the user to the first course in the bundle by alphabetical order.

Publishing the shortcode

After you have created the bundle you need some way to sell it. Each bundle has button shortcodes which you can copy from your Course Bundles page:

Depending on the payment methods enabled in your Namste! LMS Settings page it will have a shortcode for each payment method.

The shortcode generates only a payment button and nothing else. The idea is that you will have some kind of sales page where to offer one or more bundles with your own copy and/or images and media.

You can include basic info inside the shortcode with the “info” patemeter shown below the table.

When bundle is purchased

When the bundle is purchased the user will automatically get enrolled in all courses of the bundle. There is currently no special email notification for purchasing a bundle. However if you use the Namaste! Connect module you can set notifications for the student when they get enrolled in the courses of the bundle.

The student will be automatically redirected to the bundle redirect URL (see the info about creating a bundle above).


If a customer paid for a bundle but did not get access to it, please check the payment error log in Namaste! LMS settings page just below the payment options box:

You can always manually enable a bundle for every registered user from your Course Bundles page -> View payments link.

Charging for Course Enrollment (Paid Courses)

One of the most common reason to use an LMS is to be able to charge for premium courses. Namaste! LMS makes this easy, so here’s step-by-step guide how to do it.

1. Create your course.

A paid course is just like any other course but has a price attached to it:

2. Set Up Some Payment Methods

So far you have set up a price for the course, but paid enrollment will not happen until you set up at least one payment method. You can do this in Namaste! LMS Settings page, section Payment Settings:

Namaste! LMS has built-in support for Paypal and Stripe. You can enable one or both of these methods. If you have installed the MoolaMojo plugin it will also appear as payment method.

When you use these built-in payment methods everything will be handled automatically. In section 4 below you’ll learn how do students actually pay and enroll.

The Other Payment Methods Box:

Note that Namaste! LMS offers also allows you to accept any not-built payment method as long as it can be presented as a text or HTML code for button on the screen. This can be used for example to accept bank wires, checks, Bitcoin, or anything else.

Very important: Unlike the built-in payment methods these additional payment methods will not automatically enroll the student into the course. You will either have to do it manually or write your own code to process the enrollment.

3. Selling Courses through WooCommerce

If Paypal and Stripe do not work for you and you want to have users automatically enrolled into the paid course using your favorite payment processor, not all is lost. Maybe your payment processor is supported by the most popupal e-commerce plugin WooCommerce. If so, we have good news – our free bridge makes it possible to sell courses access as WooCommerce products.

4. User Action Flow: How Do Students Pay and Enroll

Students need accounts on your site to use the LMS. You can create them manually or let them register. It’s up to you whether to create a dedicated page with information about registering or just point users to your course pages – as long as you use the namaste-enroll shortcode on them they will see a message “You need to be logged in to enroll” with a link to the login  / registration page.

So, there are two methods for the users to pay and enroll:

  1. Through the course page itself. This will be possible only if you include the namaste-enroll shortcode on it:

    In this case the non-logged in user will see something like this:

    After logging in they’ll see the actual payment link:

    If you don’t include the shortcode namaste-enroll on the course page the students will not be able to enroll from it!
  2. The second method is through the My Courses page in the student’s dashboard. It shows all available courses with current status and enroll / unenroll buttons for each of them.
    If you don’t allow dashboard access on your site you can publish the My Courses page on the front-end using the namaste-mycourses shortcode (learn more about exposing backend student pages on the front-end here).

    In either case, this page is available only to logged in users so your students need to login first and then can pay and enroll.

5. Troubleshooting Paid Courses

If you are using the built-in payment methods and the enrollment did not happen after payment, please check the Payment Error Log link which will be shown right under the “Save payment settings” button. Clicking on the link will reveal the latest payment errors:

Please note that Paypal PDT is the recommended method of handling PayPal payments. We can provide technical support only for PDT payments.

If you are using the WooCommerce bridge please be careful about the following:

  • Correct attribute name and value
  • Your product should be Virtual and Downloadable
  • The order status in WooCommerce should be COMPLETED. Not pending, processed or any other  status. If it’s not completed then probably there is a payment error in WooCommerce (we can’t assist with these) or your product is not marked as virtual and downloadable and the order is waiting for you to ship it and manually mark as completed.

Creating and Assigning Quizzes and Exams

To avoid reinventing the wheel Namaste! LMS integrates with two powerful plugins for creating tests and quizzes:

  • Watu – fully functional free plugin sufficient for most simple quizzes
  • WatuPRO – the most powerful WordPress quiz plugin priced between $47 and $127

Choose one of these plugins for your quizzes. You can start with Watu and upgrade to WatuPro any time you decide.

Getting Started

You have already created some courses and lessons. Now you want to start creating some exams and complete lessons based on them. To do this you need to install and activate the quiz plugin Watu or WatuPRO. Once activated go to Namaste! LMS Settings page and select that you want to use the plugin to handle exams / tests:

There are a couple of self-explanatory settings which you can select for better integration.

Creating Your Tests

To create your tests you need to go to the Watu or WatuPRO link in your administration and create them. Both plugins are very intuitive and have quick getting started guide to help you start creating your tests.

When you are done, don’t forget that the tests should be published – either by placing the shortcode inside a post or page, or even inside a Namaste! LMS lesson, or by seleting “Automatically publish this quiz…” checkbox at the time of saving it:

Assigning a Test to a Lesson

Once you have published one or more tests you can assign each of them to a lesson in Namaste! LMS. Go to Lessons -> Edit Lesson and you’ll see the following selector:

It lets you select a single exam that will be required to be completed in order to complete the lesson. This is optional: you can and probably will have a lot of lessons that do not require any test to be completed.

Selecting “Grade” is also optional and will be shown only if you have defined grades for the test in Watu or WatuPro. You can select one or more grades to be required to consider the lesson completed. In the above example we require “Passed” grade. But if your test has grades like A, B, C, D, F maybe you will allow A, B, or C to be the grades that ensure passing the lesson.
Be careful: if you require certain grade(s) you probably have to allow multiple attempts on the test (both Watu and WatuPRO have such setting) – otherwise a student who fails to achieve any of the desired grades will never be able to complete the lesson!

Grading a Lesson Based on Test

Maybe you have noticed the checkbox on the image above: “The grade from the quiz automatically becomes grade for the lesson…”. The checkbox becomes available only if you have selected “Use a grading system” in the Namaste! LMS Settings page:

In order to successfully transfer a grade from the test to the lesson (in the Namaste! LMS gradebook) you need to have same grading systems in Namaste! LMS and in the quiz. For example if you have defined Failed and Passed as quiz grades, then your Namaste! LMS grading system should only contain Passed and Failed.

Another example, here’s a commonly used grading system:

This means the quiz should also have such grades if you want them to be automatically transferred. So if the user gets “B” on the test, they’ll get B on the lesson. The grade title in Watu / WatuPRO should be exactly “B” in this case. Not “B+”, a word like “Good”, or a number.

Navigation and User Interface

The easiest way to link from the lesson to its required exam is to use the [namaste-todo] shortcode inside the lesson. This way Namaste! LMS will automatically output information and links to everything that is required – assignments, exam, admin approval, etc. At the end of the exam, using the “Final page / Quiz output” box, just give a link back to the lesson. When the user completes the test they’ll be taken back to see that the test is done and (maybe, depending on your requirements) the lesson is also completed.

Alternatively you can of course just link to the exam from the lesson contents, but this link will not dynamically hide when the test is completed.

Access Control: Restrict Any Site Content Based on Course Enrollment or Status

From version 1.4.3 Namaste! PRO enables a very important new feature: access control to any site content.

What Is It Exactly?

The new access control feature let’s you restrict the access to any post, page or custom post type (special content created by many plugins or themes) based on any (or both) of the following criteria:

  • User is enrolled in selected course(s)
  • User has completed selected course(s)

Once such restrictions are enabled for a post or page, that content is no longer accessible to non-logged in users (unless you un-select the courses). The users who have not enrolled or completed the desired courses will get a message saying that they must do it before they can access the page.

Users who satisfy the requirements will see the page without any other notices.

Note that administrators will always see all content – the restriction will not be imposed on them.

How To Enable It?

First, enable the feature from Namaste! LMS Settings page:

If you enable it, your Add/Adit Post (or other content type) pages will get a box on the sidebar listing all your existing courses:

You can select as many of them as you like and define enrolled or completed criteria.

If all courses are unchecked in both sections the post / page remains accessible to everyone (including non logged in users) as usual.

How To Display Relevant Courses / Modules / Lessons on the Sidebar

Namaste! LMS provides handy shortcodes for displaying current course’s lessons and modules, and module’s lessons. You can even pass course or module ID to the shortcodes to display the modules or lessons that belong to another course / module. So far, so good, but how do you display this in the sidebar?

Installing the Widget Context Plugin

There is an excellent free plugin called Widget Context that takes care to display widgets only on selected post types. Install it and activate it. You’ll most likely want to display different widgets on the different types of pages. Also, you’ll probably not want to display these widgets on your regular non-LMS pages (contact & about pages, blog posts, etc).

Course Pages

Normally what you’ll want to display on a course page is the list of lessons in the course and/or (if you use modules) a list of modules in it. This can’t be easier:

  • Create a text widget and place it in the sidebar.
  • Insert the shortcode namaste-course-lessons or namaste-course-modules in it depending on what you want to show (you can create one widget for each if you prefer)
  • Select that this widget will be shown only on “Courses” pages (or maybe you want to use the same widget on your modules & lessons page – no problem, Namaste! LMS shortcodes are smart enough to figure out the lessons related to the course regardless if you are on the course page itself, or a module / lesson belonging to that course).
  • Here’s an example:

You can see how this works in our demo.

Module Pages

On module pages you’ll probably want to show lessons in this module and modules in this course. Similar to the above:

  • For “lessons in this module” use namaste-module-lessons shortcode and place it in a widget that is shown only on “Module” pages.
  • For “modules in this course” use namaste-course-modules shortcode and place it in a widget that is shown only on “Module” pages.

It’s probably not wise to include all lessons in the course but if you want to do it, just enable the widget from the previous example on “Module” pages as well.

Lesson Pages

On lesson pages you may want to show all lessons in this course, or if you use modules also the modules in this course, the lessons in this module.

  • In our first example displaying all lessons in this course is already done and the same widget is enabled for “Lessons” posts. If you want to use different widget (or don’t show lessons on course pages) just use the shortcode namaste-course-lessons without ID parameter (so just use it as you see it here) again and enable the widget for lessons.
  • To show modules in this course use namaste-course-modules in such widget.
  • To show lessons in the same module use namaste-module-lessons without using ID parameter and enable the widget for Lessons posts. You can even use the same widget on module pages.

That’s it, quite simple. If you think other existing shortcode should have course / lesson / module relevant behavior let us know.

Do not use any of the shortcodes without ID attribute on archives or search results pages because the system won’t know which is the current post they relate to. Using the shortcodes without ID makes sense only on pages that show a single course, lesson or module.

School Accounts

This feature is available from Namate! PRO 1.3.3.


School accounts let you sell access to courses and classes to school, groups, private teachers, marketers etc. You can set both individual and school prices to courses or classes.
School accounts are not different than student accounts except that they get a simple dashboard and a school signup code. When a student registers with the code, they become a student of the school and get free access to courses and classes/groups that the school has access to.
This is explained in more details in the “Student’s Registration and Access” section at the end of this article.

Note that the user role of school account owners must be enabled as role that has access to learning material (in Namaste! LMS Settings page).


To enable the feature go to Namaste! LMS -> School Accounts page and enable it:

Let’s elaborate:

  • The option “Automatically assign students to the classes that the school account is assigned to” will automatically sign up any student registered under the school in the classes/groups the school has purchased as school account. If you don’t select the option the students will still be able to sign up the classes manually. If some of the classes requires a signup fee, the fee will be void for the school student and they’ll be able to sign up for free.
  • The second option defines whether your default WordPress registration page will allow signup under a school or not. If not, only a registration page visited with the special URL will allow such sign up. The URL is also available in the School’s dashboard so your clients can give it to their students.

Under the global settings you’ll see your courses and classes / groups. For each course or class you can define a price for school sign-up. Use the corresponding shortcode to publish a sign-up button anywhere on your site. Signing up as school is possible only through this button. If you want to charge for school signups make sure you have entered some payment settings in your Namaste! LMS settings page. Currently school account signup is integrated with Paypal and Stripe payments and you can’t use any of the additional payment bridges for other gateways.

For each course or class you can see and manage the accounts signed up as school – add an account manually, or remove an account.

At the top of the course you will see the welcome shortcode. You can use it anywhere on a page, before namaste-mycourses shortcode for example, or in your theme header to display a greeting for school students. It can help them know the school name they signed up under. The school name is defined by the school account owner in their school dashboard.

The School’s Dashboard

Once someone registers as school under any course or class/group, they get the School’s Dashboard. It’s called My School Page and a link to it becomes available under My Courses menu in their dashboard.

The dashboard lets them:

  • Set a school name. The school name can be displayed by the shortcode you as admin can use (as explained in the previous section).
  • Get the school signup code and signup link. They can send this link to students they want signed up under them.
  • See classes and courses they signed up for.
  • See students signed up in their school.

Student’s Registration and Access

A student that signs up under a school is a regular Namaste! LMS student. However he gets access to the courses and classes/groups that the school account has signed up for. Let’s elaborate:

  • When a school account has bought a paid course, all students of the school can enroll that course for free. Students will never be automatically enrolled in a course however – they need to click the Enroll button.
  • When a school account is signed up for a class/group access, the students of the school will:
    a) be automatically signed up for these classes upon registration IF this option is selected on the Manage School Accounts page by the site admin
    b) be able to sign up for free for all these classes even if there is a fee otherwise.

The school accounts feature is in beta stage. There is a lot more to come in terms of reporting and flexibility. We welcome your feedback.

School Accounts and Namaste! Reports

If you have the Namaste! Reports add-on, version 0.9.8 or newer, you can enable school owners to view reports of the students in their school. For this you need to assign them role which is enabled in “WordPress roles that can administrate the LMS” section in Namaste! LMS Settings page. We recommend using a restricted role like Contributor or similar. Once the role is enabled go to “Fine-tune” link below the roles and specify what parts of the LMS they will have access to. In most cases you will want everything restricted:

For Namaste! Reports access select “School access only”. Once this is done, your school owners will get the Namaste! LMS link in their dashboard and access to Advanced Reports section.


The grading system in Namaste! LMS can be optionally enabled from the Namaste! LMS Settings page. There is no fixed grading system, neither predefined choices so you can use anything you want.

In this article we’ll use one of the most common grading systems in the world with five letters: A, B, C, D, F. You can of course to choose grades like A-, B+ etc, a numeric grading system from 2 to 6 for example, a simple system having just “Fail” and “Pass” grades and so on.

Setting The Grading System

To configure a grading system you need to go to Namaste! LMS Settings page and check the checkbox as shown below:


Spacing between commas does not matter and all the spaces will be trimmed from your grades (we have intentionally misplaced one of the commas in the example above).

Once this is activated a menu “Gradebook” will appear under your Namaste! LMS menu. Upon selecting a course you will be able to see all students in it and assign grades to their lessons and courses.

Grading Assignments

Assignments can be graded by teachers / managers from the View Solutions page. These grades will then appear in the gradebook next to the lesson grade selector. They will not automatically grade the lesson but will be shown there to help the teacher decide about the lesson grade.

Grading Lessons

Lessons can be graded manually in the gradebook.

They can also be graded automatically if you have assigned a Watu / WatuPRO quiz to the lesson.  How does this work:

1. In the Edit Lesson page select that the quiz is required to complete the lesson:


2. It does not matter if you select specific grade(s) from the right selector. They have relation only to completing the lesson, not to grading it.

3. Select the checkbox below as shown so the grade from the quiz is transferred as lesson grade.

For this to work your quiz grade titles should match exactly the grades in Namaste! LMS. As you see in our example, quiz grades are A, B, C, D and F. So if the user achieves B on the quiz AND your grading system in Namaste! LMS contains grade “B”, the grade from the quiz will automatically become a grade for the lesson.

Another example: if you have entered the Namaste! LMS grades as “Passed, Failed” your quiz grades should also be “Passed” and “Failed”.

Grading Courses

Courses can be graded manually in the gradebook.

Courses can also be graded automatically as an average from the lesson grades. To do this, on the Edit Course page select the checkbox that says “Automatically grade this course based on its lesson grades”:


When this is select grading will automatically happen at the time of completing the course. The grades of all the graded lessons will be gathered and an average grade will be found based on them. This happens by automatically assigning points to each grade position, then finding the average of these points and figuring out the corresponding grade. The following illustration explains it visually:


The left side of the image shows how the selected by you grades are assigned points behind the scene based on their position (lowest start with 0 points and then it adds 1 point for each grade up). Then we collect the points for all lesson grades and divided by the number of lesson. The result is rounded to a whole number and the grade that has this number of points is assigned to the course. Lessons that have no grade assigned do not participate in the calculation and don’t increase the number of lessons the system divides on.

One important thing to note: since this calculation happens at the time of completing the course, a grade which is given to lesson after that will take no effect. So if your latest lesson triggers course completeness and you want it to participate in the grading, it should be graded before completing the lesson – either manually, or automatically via assigned quiz.