xAPI Availability

This Moodle plugin lets you restrict access to an activity based on an external condition stored in a LRS (Learning Record Store) which is calculated using an xAPI call.

Say for instance your course required a user to participate in a scheduled face-to-face activity in which attendance is recorded. Then based on attendance, you want to release an activity or section for those people. You could set your attendance tracking application to post a status to a LRS for the user when they were marked off as attending, then Moodle would be able to pick it up as an activity condition and release the content.

Activity complete image

A moodle filter for automatically linking images to activities. This is useful when you want an image-based menu at the top of your course that links to hidden activities.

The image also gets an icon added over the top to signify whether or not the activity has been completed.


A quirky filter to render a specific set of HTML in a round menu.

There are probably not a great many use cases for this. It’s quirky and fun way to present a menu. It takes the title tag from the hyperlink as a label under the image; the image is just an image inserted into the course description. The alt-tag from the image is shown to the user inside each circle as the mouse hovers over. A background is taken from the styles.css file accompanying the filter – which can be overridden in the theme.

Course Catalogue

A tabbed course catalogue for Moodle rendered using a template that you can change. This can be useful if you have a theme that supports blocks in the main column and want an alternate to the built-in course category pages.


This is a Moodle filter that provides a useful function – Search and Replace.

You can use it like a simple “shortcode” system to find key elements in your blocks, activities or content and substitute it with a different set of content – typically a block of common HTML that you include in all your pages.

enrol token

The Enrol Token plugin is an enrolment provider for Moodle that allows a passcode to be generated that allows a user to gain access to a course or cohort.

How is this different to an access password? Enrolment tokens are aware of how many times they have been used. You can create one or more tokens that can each be used once or hundreds of times. Simple IP-based protection stops brute-force methods of trying to guess token codes, which are randomly generated.

Simple reports let you see who used each token, and how many places (“seats”) remain on each token.

downloading the plugin

You can download this plugin by visiting my GitHub page. Further instructions are available there.


This demonstration first uses my wp2moodle plugin to log you on to my demonstration Moodle site. You will need to register here on my WordPress site to begin (it’s ok if you want to use a made-up account). If you prefer to register independently on the Moodle site, please click here to visit the site. The link below will open in a new tab or window.

Once you have opened the link copy one of the tokens from below and enter it into the token field. These tokens are each good for 100 uses each, so if you get a warning mentioning the token is expired, just come back and choose a different one.

[ insert the token table here ]


WordPress 2 Moodle takes users who are registered in your WordPress database and creates them, on-demand, in your Moodle server. It does not use web services or a shared database. Your sites can be running on different servers & platforms, with or without https, and without impacting your existing Moodle users.

You can optionally enrol users into courses, groups and cohorts.

All via a simple shortcode.

Moodle is configured to update profile fields each time, open the course or url, and logs on using the email field as the common identifier.

downloading the plugin

You can download the plugin for your WordPress and Moodle installation on my github page. The same zip file works in both WordPress and Moodle.


Here is what you need to do.

  1. Register for the site (or log in). Use a fake account if you like.
  2. Make sure you add a firstname and lastname to the profile. Moodle requires these fields.
  3. Click on one of the shortcodes to launch courses in various configurations. These hyperlinks are targetted at a new tab/window.

Once you are logged in, the following text will contain links that register you in my example Moodle site and log you in. Further courses and instructions are also available on my Moodle site.

Cohort enrolment: Enrol via Cohort then come back here and click the following link to open a particular activity within a course you are already enrolled in: Open activity.

Course enrolment: Enrol in Blue group in a course.

Url only: No enrolment is specified with this link but a custom URL is set to open after you are logged on. Custom URL.

This text has changed.

Also try coming back and editing your profile fields then trying the links again. The details should be passed across to Moodle and updated.

licence + premium + support

Dual Licence MIT + GPL3. This software contains no premium / paid content. Please raise any problems as issues on the github site.