The MooWoodle plugin is an extention of WooCommerce that acts as a bridge between WordPress/Woocommerce and Moodle. It fetches all the courses from your Moodle instance and makes them available for sale, which may be bought by users through WooCommerce. It reduces your effort by synchronising your LMS site with your online store. And when someone purchases a course from the store he/she is automatically gets registered for the course in the LMS site. More over this plugin works with WooCommerce subscription plugin too.

For a complete instruction on the MooWoodle set-up, Click Here


  • Compatible with the latest version of WordPress, WooCommerce, Moodle
  • WooCommerce upto 4.0.1
  • WordPress upto 5.4
  • Moodle upto 3.8.2
  • Multilingual Support is included with the plugin and is fully compatible with WPML.

This plugin now supports Bulk Purchase


= WP site setup: =

To set up the plugin: Synchronise > Settings >
1. Fill up Access URL (site url of your moodle site) and Webservice Token (generated from your moodle site; a more detailed guide is given below).

  1. Check Create Products From Courses checkbox if you want to create product from courses during course sync; otherwise leave it unchecked. In that case the courses will be saved in wordpress site and you can manually add products for courses later.

  2. Check Update user info with order info checkbox to update user info with new order info.

  3. By default, Yes to Update existing users for Moodle will update the profile fields in Moodle for existing users.

  4. Click on Save Changes button.

To Sync the plugin: Synchronise > Synchronise >
1. Click Yes to Synchronise now for Synchronise all moodle courses to woocommerce product.

  1. Click on Synchronise button.

To Setup products: Product > Course Name >
1. Click on Edit button.

  1. Click the Moowoodle button on Product Description.
  • For paid product, please do this:
  1. Change all feilds like cohort , group , course according to your moodle settings.
    Ex: [moowoodle cohort=»cohortid» group=»groupid» course=»courseid» class=»moowoodle» target=»_self» authtext=»» activity=»0″][/moowoodle]
  • For free product, please do this:
  1. Change all feilds like cohort , group , course according to your moodle settings and also write something in the shortcode that appears on the view product page.
    Ex: [moowoodle cohort=»cohortid» group=»groupid» course=»courseid» class=»moowoodle» target=»_self» authtext=»» activity=»0″]Click to get enrolled and visit Course[/moowoodle]

Note: If your product is a PAID product then never ever write anything in the shortcode. If you want to add some description about your product write all the stuff below this [moowoodle][/moowoodle] shortcode, otherwise this shortcode will not work.

  1. You have to create a custom page called «My Courses» by follow those steps ; Pages > Add New > Set title as «My Courses» and add shortcode as «[enroll]» on description then click on «Publish» button.

*Select woocommerce email type
Woocommerce > Settings > Emails > New Moodle Enrollment > Email type > HTML

This plugin works in collaboration with a moodle based MooWoodle plugin. You can download it from -> Click Here

Moodle site set up:

Create and setup webservice:
1. Administration > Site administration > Advanced features > Enable webservice > Save changes.

  1. Administration > Site administration > Plugins > Manage protocols > Enable REST protocol.

  2. Administration > Site administration > Plugins > External services > Add > Give a Name and chack Enabled > Add service > Add functions > Add the following functions to your webservice:
    i. core_user_create_users: Create users
    ii. core_user_get_users: Search for users matching the parameters
    iii. core_user_update_users: Update users
    iv. core_course_get_courses: Return course details
    v. core_course_get_categories: Return category details
    vi. enrol_manual_enrol_users: Manual enrol users

  3. Administration > Site administration > Plugins > Manage tokens > Add > Select user (Admin) from users\’ list > Select your service form services\’ list > Save changes.

  4. You need to “enable web services for mobile devices” on the Moodle site. It is under Dashboard > Site administration > Mobile app > Mobile settings

Disable password policy:
The password policy settings needed to be disabled since the user password will be generated in WordPress end and will not match the password policy of Moodle. The steps to disable password policy are given below.

  1. Administration > Site administration > Security > Site policies > Uncheck Password policy > Do not forget to save changes.

  2. Enable Extended Characters in Username
    Username created in WordPress can have characters. Therefore, it is mandatory to enable this setting in Moodle. Navigate to Site administration > Security > Site security settings > Enable Allow extended characters in usernames.

Other Moodle Products From Dualcube

After years of not getting it just right, our excellent design and development team combined craft, care, love and experience to deliver two impeccable Moodle themes i.e «Nalanda» and «University» , blend with a smooth and rich UI.
It was mostly our clients who inspired us for this venture. Their constant feedback and appreciation led us to build this for the countless Moodle lovers.

  • You can view the demo of Nalanda here Click Here
    ** Much awaited Dark mode is coming with the new update.

  • Student Access:

  • Login ID: student
  • Password: 1Admin@23

  • You can view the demo of University here Click Here

  • Student Access:

  • Login ID: student1
  • Password: 1Admin@23

  • We also have a premium version of the plugin on Dualcube with Single Sign-On feature.

  • This is to be installed in Moodle.
  • To get any of these themes: Click Here

Задать вопрос

All we want is love. We are extremely responsive about support requests — so if you face a problem or find any bugs, shoot us a mail or post it in the support forum, and we will respond within 24 hours(during business days). If you get the impulse to rate the plugin low because it is not working as it should, please do wait for our response because the root cause of the problem may be something else.


After the users receive the order-complete email, they need to click the link of the course or courses that they bought.
It will then create and enroll the users in their courses.
They can then access the courses using the username and password sent via email.

Alternatively, When someone buys a course, after the payment, he/she will be directed to a thank you page which normally contains the link of the my courses page.

On this page you will have all the courses listed that you have bought along with the links to the individual courses.

You will need to click on the links/buttons to get enrolled.
If you have bought a course and, the course is listed on that page but if the link is not displayed; then the payment is not verified yet. Once it is verified, the link will appear.

Note: You will need to click the purchased courses’ links/buttons in the email body or on my course page in order to get enrolled.Then only you can use the ID and password to access your course on Moodle site.


  • Fill up Access URL, Webservice token and other settings fields.
  • Select Yes and click on Synchronise to sync courses and course categories from your moodle site.
  • In advanced features check Enable web service check box and save changes to enable web service for your moodle site.
  • Enable REST protocol from manage protocol of your moodle site.
  • In External services click on Add to add your external service.
  • Give a Name to your external service and check Enabled then Add service to add your external service.
  • Click on Add functions to add functions to your service.
  • Add above mentioned functions mentioned to your service.
  • In Manage tokens click on Add to generate new webservice token for your service.
  • Select the admin user from the User list and your service form Service list the save changes.
  • The token generated for your service. (Copy this token and pest it in Webservice token field in our WordPress plugin settings.)
  • Uncheck Password policy then save changes to disable Moodle's default password policy checking.


NOTE: MooWoodle plugin is a extention of WooCommerce, so the WooCommerce plugin must be installed and activated in your WordPress site for this plugin to work properly.

  1. Download and install MooWoodle plugin using the built-in WordPress plugin installer.
    If you download MooWoodle plugin manually, make sure it is uploaded to /wp-content/plugins/moowoodle/. Or follow the steps below:
    Plugins > Add new > Upload plugin > Upload > Install Now.

  2. Activate the plugin through the \’Plugins\’ menu in WordPress.

Часто задаваемые вопросы

Does this plugin work with newest WP version and also older versions?

Yes, this plugin works really fine with WordPress 4.9! It is also compatible for older WordPress versions upto 4.1.1.

Does this plugin work with latest version of Moodle?

Yes, this plugin works really fine with WordPress 4.9! It is also compatible with Moodle version 3.4+.

Up to which version of WooCommerce this plugin compatible with?

This plugin is compatible with the latest version of WooCommerce, that is, Version 3.2.6.

Does this plugin work with WooCommerce Subscription?

Yes, it works with WooCommerce Subscription.


The install instructions are poor, the required Moodle plugin can't be downloaded. Waste of time. The plugin Details says "This plugin works in collaboration with a moodle based MooWoodle plugin. You can download it from -> Click Here" It's a waste of time. The download site does not work, it has incorrect error messages and won't allow download. There is no reply to support requests. Seems like a very flaky plugin with no support.
It doesn't create account on Moodle, user is empty. It basically only works to import your courses from Moodle to WordPress, just use Edwiser and pay for the add-on.
Funciona de maravilla con WordPress 5.2.2 y la última versión de Moodle 3.7.1+
Took a little time to figure it out and follow the instruction to get the link to Moodle sorted, but overall a clear set of instructions and a great plugin. Thank you. Have just updated to the latest version of the plugin (and Moddle, wordpess etc.) The instructions are still a little poor, and you now have to get the users to click on a link to complete the registration (and change their password) from the email that's sent, but once configuration is complete, it works well. Many thanks to the developers.
Посмотреть все 17 отзывов

Участники и разработчики

«MooWoodle» — проект с открытым исходным кодом. В развитие плагина внесли свой вклад следующие участники:

Перевести «MooWoodle» на ваш язык.

Заинтересованы в разработке?

Посмотрите код, проверьте SVN репозиторий, или подпишитесь на журнал разработки по RSS.

Журнал изменений


  • Added — WooCommerce 4.0.1 compatibility added
  • Added — Moodle 3.8.2 compatibility added
  • Added — Show purchased courses’ details on My Course page
  • Fix — Enrollment against course id
  • Fix — Some CSS


  • Added — Bulk Purchase


  • Added — WooCommerce 3.8 compatibility added
  • Added — Moodle 3.8 compatibility added
  • Fix — Now ID and password to login to the Moodle instance will be emailed to the customer after verified purchase.
  • Fix — More stable workflow and coding clean-up.


  • Added — Compatible with the latest version of WordPress, WooCommerce and Moodle
  • Added — WooCommerce upto 3.5.0
  • Added — WordPress upto 4.9.8
  • Added — Moodle upto 3.5
  • Fix — Stable structure implementation and minor fixation


  • Fix — Typo in registration email.


  • Compatible with Moodle 3.4+.


  • Compatible with Moodle 3.2.


  • Tweak — Now using REST Protocol instead of XML-RPC Protocol.
  • Fix — All the courses\’ name are now in the New Enrollment notification mail.
  • Fix — Admin can publish products in which course is not assigned.


  • Initial version