Forget Moodle: WordPress Can Power Your Educational Portal (Updated 2021)

Updated in 2021: It’s surprising how many of the old plugins were no longer active. Things in the web change fast! I have updated this post with the most recent and updated alternatives.

No doubt Moodle is the standard open-source solution for building educational communities and portals. It’s been around for years, it has a huge community, regular updates and contributions. It’s really good.

But forget about it. Use WordPress.

I’m not writing this to bash Moodle. I appreciate the efforts that the community puts in it. Contributing to Moodle is in my plans as well. However, 90% of people who use it can achieve nearly the same functionality with WordPress and several plugins. Advantages?

  • WordPress is easier to install, update, and use
  • It has an even larger community and more contemporary interface
  • More free plugins
  • Easier to host (less demanding in resources)
  • A lot more premium plugins and themes
  • A lot more developers available for customization

Need I say anything else? Just look at the downloads – Moodle is more than 70MB zipped! Way too much code and stuff, maybe good, but you don’t need most. The latest WordPress installation file is just 15 MB at the moment.

The most important Moodle functions can be replaced with similar, sometimes better, free and premium WordPress plugins and/or themes. On top of that you can add some more of WordPress awesomeness – SEO plugins, caching plugins, tons of little widgets and so on. And, you can still host a regular blog along with the educational suite if you wish.

Here is how to replicate the most important Moodle functions in WordPress:

Courses

The core of Moodle is creating courses, assigning user groups to them, course reports, assignments. There are two great WordPress plugins that will handle this in one or another way:

TeachPress is properly maintained and up-to date plugin for creating courses with enrollments and publication management.  It has only one version that’s entirely free. Scroll down their site to see a bunch of screenshots and get an idea what you can do with it.

On the other hand if you want to run education suite that’s more of a community thing, you may want to first install BuddyPress. This thing is huge: it turns your WordPress site into a social network and then you can go further and extend it with more plugins and themes. (Right, this means to extend a plugin with plugins).  So once you extend WordPress with BuddyPress you can add educational capabilities with the great BuddyPress ScholarPress Courseware. It’s also fully open-source and free, well supported and frequently updated plugin. Allows managing courses, lectures, basic quizzes, assignments, and schedule calendars.

Now there is also the completely free Namaste! LMS which is also built by us. We have huge plans on it, so it’s worth taking a look!

Screenshots of Namaste! LMS

Namaste! LMS

If you are interested in further researching the LMS space, check this list from 2021.

As these all-in-one plugins sometimes don’t have exactly what you need and may be clumsy in some areas, there are more niche-ones that can handle individual tasks better.

Exams and Tests

This is the area where Watu comes in place (and sometimes you will prefer its premium version). Watu lets you create exams with single-choice, multiple-choices, or open-end questions. Assign grades, points, display results instantly. In the premium version you can also keep stats of the taken exams, limit by user group and categories, email user results, set times, assign certificates and so on.

WatuPRO Screenshot

The Pro version has more question types, advanced grading system, and so on. Regardless the very powerful features, it’s pretty easy to get started with:

You may also want to check Quiz and Survey Master which is probably less easy to use but has some interesting features.

Our Chained quiz has unique chained logic features so it’s worth having a look for some specific learning sites!

Assignments

One great plugin for handling assignments is Cleverness To-Do List. Tasks can be assigned to different users along with deadlines, various permissions etc. Regular assignments for whole groups can be handled by adding a post to a selected group and connecting it with an exam.

Of course don’t forget that BuddyPress ScholarPress Courseware also has assignments module, and Namaste! LMS has assignments built in (and can be used as requirements to complete a lesson.

Chat

Chat plugins are abundant. You can use a simple self-hosted and free solution like 3CX Live Chat or get rid off the hosting hassles  and subscribe for something like LiveChat or ChatRoll.

If you only need a pretty simple thing then install a shoutbox like Schreikasten or Buddypress-Ajax-Chat and you are all set.

Polls

Polls are useful not just for educational sites but also in marketing and sales, or any other site that needs to get user feedback. But for educational suite perhaps the most useful will be WP-Polls (free).

Now if you want to relate poll answers to users and extract more detailed stats you may prefer to use a plugin for creating exams or surveys. Watu Quiz can also be used for polls.

Forums

There is no shortage of solutions here as well. While BBPress is the standard choice, you may wish to check ForumPress or wpForo Forum which is more up to date.

You may notice I sometimes favor paid versions. This is not just to encourage paying for quality stuff and helping WordPress developers to do their great job. If you are running a site that makes money, spending few bucks on a premium plugin may help you stay over the competition by having something they don’t have. Premium plugins usually come with high-class support too and are more user-friendly (well, not always, but most of them are).

Glossary

Glossary is another thing you would want to do even if your site is not educational portal. But speaking about education sites,  GM Tooltip Glossary is one of the best choices. The core plugin is entirely free but has several premium add-ons that are very well worth the money. Custom taxonomies can be petty important for example for a more advanced education site.

The simpler Glossary by Codeat is also and excellent choice and probably simpler to use.

Resources

Moodle has a Resource module which can display different media types along with a lesson or course. WordPress itself can handle resource listings in many ways – the simplest is just to use the rich text editor in a post or page and link to various files or media. Because of this, there aren’t any notable plugins for handling on-page resources. If you plan to list external resources you may want to check some directory plugins. In most cases the WordPress itself is good enough to handle this functionality by its core.

Survey

Although close to exams and quizzes, surveys have slightly different purpose. So the best plugin for adding surveys is probably WP Survey And Quiz Tool. A simpler solution is again Watu Quiz (besides its primary purpose is exams) and especially WatuPRO which has very powerful reporting features (and more are coming!).

There is also a good comparison post at Kinsta featuring some more plugins.

Wiki

Wikis can be very useful in learning communities as your members can save you a tremendous amount of work. (I guess I’d need to create Wiki on this blog, so members can write about wikis. How meta!).

An excellent premium wiki plugin was available from WPMUdev but they have retired the plugins 🙂

A decent simple alternative is Yada Wiki from the official WordPress repository. The plugin is frequently updated and probably going to continue being active.

Encyclopedia / Glossary / Wiki is probably a good alternative if you also want to run a glossary and don’t like the other alternatives.

Workshop

There are plenty of ways to handle workshops and events. If you need a simple thing Simple Events Calendar might be your choice. However a lot more powerful alternative is The Events Calendar and the Registrations module by Roundup WP. These are super powerul plugins and no surprise they are the most popular ones in this area.

If your workshops involve webinars you may need to use some webinar software too. The only decent plugin I found is quite pricey so you may prefer to use some hosted webinars solution outside of WordPress.

Yes, Moodle fans, some of these features are more complicated and rich in Moodle. But most of us don’t need that. WordPress works in 90% or so of the cases and most webmasters are more comfortable with it.

Update in 2021: When I wrote this article first almost 9 years ago this was true. WordPress and its education related plugins have advanced so much (so proud that we have contributed as well!) that it’s questionable if Moodle is still more powerful. I am of course open to criticism here because I am not an active Moodle user.

As for Moodle, it’s a great stuff if you really need what it offers and have the patience to learn working with it.

WatuPRO 6.5

The quiz plugin WatuPRO has been updated to version 6.5 with lot of new features and bug fixes as usual. Here’s the full changelog:

  • A new shortcode allows you to display cumulative stats on all user’s logged in attempts on multiple quizzes. You can also include conditional content based on the achieved results from all the quizzes.
  • Added option to pull X random question categories in the quiz. This will work together with other randomization and pull random settings.
  • Added option to not display the optional answer explanation if the question is left unanswered.
  • The checkbox for MathJax and LaTeX problems on import was not working for Aiken imports.
  • Improved handling of WP emojis entered by mobile phones.
  • Added optional parameters show_id=0 show_delete=0 show_details=0 to the watupro-takings shortcode to allow hiding these columns.
  • Added shortcode “watupro-leaderboard-position” to return the position of the currently logged in user in the global leaderboard by points.
  • Added new columns to the WatuPRO Simple import format: “is required?” and “answer explanation”.
  • Part of the question contents can be hidden on the final screen if you place them betwneen HTML comments: <!–watupro-hide-start–> and <!–watupro-hide-end–>. The rich text editor should be switched to Text mode when entering the comments.
  • When submitting a quiz (or going to a next page) with unanswered required questions the error message will show which of the questions exactly should be answered.
  • Added name of logged in users in the email sent to admin.
  • Added 5-columns style for questions showing their answers in columns.
  • Two versions of the question compact format are now available, see the link next to the selector for more information.
  • You can set individual quiz schedules for logged in users.
  • Timer allowance for timed quizzes is now configurable from WatuPRO Settings page.
  • Added variables %%CATEGORY-WRONG-X%% and %%CATEGORY-EMPTY-X%%  for the manual category based output.
  • Changed the JS alerts on the required contact fields at start/end of a quiz to inline messages.
  • Added option to use respondent’s email address as a reply-to address when sending quiz results to admin or managers.
  • Added option to exclude the default “Details of …” line when sending quiz email to admin. The option is in WatuPRO Settings page, section Defaults.
  • Added a counter on the Manage questions and Reuse specific question page to show how many questions are selected for mass updates or reusing.
  • Added variable %%UNIQUE-ID%% for the final screen – a unique identifier of the submitted quiz attempt.
  • Added option to hide the following columns from “View details” pop-up -> table format: ID, No., Points, Result. The option is in WatuPRO Settings page -> User Settings tab.
  • From WatuPRO Settings page -> Theme and Design tab you can switch off browser’s autocomplete feature on the quiz form.
  • Added option to store contact data for logged in users if the quiz requests contact data. In this case it will be pre-filled for other quizzes or new attempts on the same quiz.
  • [Intelligence module] Added option to restart limits for quiz attempts after payment. More information at https://blog.calendarscripts.info/watupro-intelligence-module-restart-quiz-attempts-when-payment-is-made/
  • [Intelligence module] When a manager’s role is permitted to access quizzes with “Apply user group / user role category restrictions” they will see only the results of users within the same user groups they have + the results of the non-logged users. This applies only when you are using WatuPRO user groups.
  • Added shortcode attribute require_login for overwriting quiz settings.
  • [Intelligence module] Added user email address in the list of payments for a paid test.
  • [Reporting module] The shortcode watupror-poll that produces a poll chart on individual quesitons can now accept paremeter orientation=”vertical” to create a vertical bar chart.
  • [Reporting module] Added parameter draw_unanswered to the watupror-pie-chart shortcode. It will generate a pie sector for the unanswered questions in each category.
  • [Reporting module] Added paremeter sum_subcategories to watupror-pie-chart and watupror-quiz-cat-chart shortcodes. The parameter will sum the subcategory performance into the parent category and will not draw the subcategories in the charts.
  • WooCommerce integration: you can now select a WooCommerce product directly in the Edit quiz -> Intelligence module tab and let the plugin automatically set the required attributes for you. Note that only Virtual AND Downloadable products will be shown in the drop-down.
  • Improvement to the WooCommerce integration: unlinking the product will remove the custom attribute
  • Fixed issue with counting multiple-choice questions answers in “Stats per question” page when those contained commas.
  • Fixed issue with scheduled timed tests when the scheduled end time is sooner than the timer end time.
  • Fixed bug: the watupro-result shortcode will now load the WatuPRO CSS and scripts so details are properly displayed.
  • Fixed bug [Intelligence module]: when role setting to “view/approve results” with “apply user group permissions” checked, the option “Do not allow sending email with the edited results” was getting ignored.
  • Fixed bug [Intelligence module]: sometimes deselecting an item in one box of match/matrix questions was making a value that’s reserved in another box available for selection.
  • Fixed bug in flashcard questions: a card stopped flipping after 3-4 flips.
  • Fixed database bug: when users entered emojis in answers to open-end questions their results were not stored. Note there may still be issues with using emojis across the plugin: this is a bug in the built-in WordPress database handler. We are applying a conversion function on all places manually.
  • Added attribute “pagination” to the watupro shortcode to overwrite the quiz pagination setting.
  • Added option to set header and footer for PDF results printing. This feature requires PDF bridge version 1.7.
  • Removed sessions usage from the core plugin. They are now replaced with cookies to avoid loopback issues on some installations.
  • Fixed bug [Intelligence module]: no new lines in “fill the gaps” questions.
  • Fixed bug [Reporting module]: Analytics integration did not work on Ajax quizzes.
  • Fixed bug: when drop-down fields were used for asking contact details at the beginning of a quiz, they were still shown on the next pages.
  • Fixed bug: captchas should not be required when auto-submitting timed quiz with expired time.
  • Fixed bug: restricting access to specific list of users should be case-insensitive for email addresses.
  • Fixed bug in the new watupro-leaderboard-position shortcode.
  • Because of problems with WP auto paragraphs function reverted to using our own function when displaying questions. Added configuration option to use wpautop().
  • Fixed bug [Reporting module]: the pie chart per category should always show green for correct answers and red for wrong (unless colors are specified by the user)
  • Fixed bug [Intelligence module]: when the new “View and edit/approve results” setting was set for a role the user group / category restrictions were not applying.
  • Fixed issue with category paginator highlighting when using next page / previous page buttons.
  • Fixed bug: sometimes the limit for number of attempts per email address was remaining active even when we are not asking for user email address.
  • Fixed bug in “Don’t display questions that were previously answered by the user” option.
  • Fixed issue with blank space showing on top of the user menu.
  • Fixed bug: if “ask for contact details” contained a required checkbox there was no visible error message when it’s missed.
  • Fixed column titles mismatch on “Export with details” function in View Results page.
  • [Intelligence module] Fixed display issues with horizontal sortable questions on the final screen.

Namaste! LMS Bridge for GamiPress

We have just released an integration between Namaste! LMS and GamiPress.

The integration adds new activity events that let you award GamiPress points of any type when any of the following events happen in Namaste! LMS:

For Courses

  • When a student finish a course
  • When a student finish a specific course

For Modules (When Modules are Enabled)

  • When a student user finish a module
  • When a student finish a specific module
  • When a student finish a module of a specific course

For Lessons

  • When a student complete a lesson
  • When a student complete a specific lesson
  • When a student complete a lesson of a specific course

The new events are visible in the “When” drop-down selector in Add/Edit point type page:

Feel free to send us any suggestions for other events in this integration.