{"id":13274,"date":"2024-05-11T00:00:00","date_gmt":"2024-05-10T22:00:00","guid":{"rendered":"https:\/\/tresipunt.com\/integration-with-moodle-via-custom-wordpress-plugin\/"},"modified":"2025-10-01T12:01:58","modified_gmt":"2025-10-01T10:01:58","slug":"integration-with-moodle-via-custom-wordpress-plugin","status":"publish","type":"post","link":"https:\/\/tresipunt.com\/en\/integration-with-moodle-via-custom-wordpress-plugin\/","title":{"rendered":"Integration with Moodle via custom WordPress plugin"},"content":{"rendered":"<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_82_2 counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Table of Contents<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/tresipunt.com\/en\/integration-with-moodle-via-custom-wordpress-plugin\/#Moodle_as_an_educational_platform_our_challenge\" >Moodle as an educational platform, our challenge<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/tresipunt.com\/en\/integration-with-moodle-via-custom-wordpress-plugin\/#New_challenge_How_to_create_an_online_training_catalog_with_WordPress\" >New challenge: How to create an online training catalog with WordPress?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/tresipunt.com\/en\/integration-with-moodle-via-custom-wordpress-plugin\/#How_to_develop_a_website_for_the_sale_of_online_courses\" >How to develop a website for the sale of online courses<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/tresipunt.com\/en\/integration-with-moodle-via-custom-wordpress-plugin\/#Creative_platform_design\" >Creative platform design<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/tresipunt.com\/en\/integration-with-moodle-via-custom-wordpress-plugin\/#Course_enrollments\" >Course enrollments<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/tresipunt.com\/en\/integration-with-moodle-via-custom-wordpress-plugin\/#Training_platform\" >Training platform<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/tresipunt.com\/en\/integration-with-moodle-via-custom-wordpress-plugin\/#Integration_with_Moodle_via_the_custom_WordPress_plugin\" >Integration with Moodle via the custom WordPress plugin<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/tresipunt.com\/en\/integration-with-moodle-via-custom-wordpress-plugin\/#Results\" >Results<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/tresipunt.com\/en\/integration-with-moodle-via-custom-wordpress-plugin\/#Conclusion\" >Conclusion<\/a><\/li><\/ul><\/nav><\/div>\n<p><strong>Success case with the Official College of Pharmacists of Barcelona and Madrid: Moodle and custom WordPress plugin<\/strong><\/p>\n<p><span style=\"font-weight: 400;\">The Official College of Pharmacists of Barcelona (COFB) and the Official College of Pharmacists of Madrid (COFM) joined forces to create a <a href=\"https:\/\/tresipunt.com\/en\/integration-moodle-wordpress-smatx\/\" target=\"_blank\" rel=\"noopener\">training platform<\/a> for members and non-members, mainly from Spain, where they can be trained in different areas within the field of healthcare.<\/span><\/p>\n<p><!--more--><\/p>\n<h2><span class=\"ez-toc-section\" id=\"Moodle_as_an_educational_platform_our_challenge\"><\/span><b>Moodle as an educational platform, our challenge<\/b><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p><span style=\"font-weight: 400;\">The platform based on Moodle, for Agora Sanit\u00e1ria was designed with the following objectives in mind: to be attractive, clear, and organized, and with the fundamental requirement of managing user registrations in an agile and efficient way.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">In terms of training, it was necessary to be able to <strong>add different types of educational content<\/strong>, such as resources and activities.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">The educational materials are mainly SCORMS content, PDFs, videos and questionnaires to validate users&#8217; skills, giving them a diploma at the end of the training.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Once this training platform was developed, it was necessary to offer the training in a very visual and attractive way.\u00a0<\/span><\/p>\n<h2><span class=\"ez-toc-section\" id=\"New_challenge_How_to_create_an_online_training_catalog_with_WordPress\"><\/span><b>New challenge: How to create an online training catalog with WordPress?<\/b><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p><span style=\"font-weight: 400;\">To address this challenge, <a href=\"https:\/\/tresipunt.com\/en\/meet-our-team\/\" target=\"_blank\" rel=\"noopener\">3ipunt team<\/a> together with the team of both schools decided that it was necessary to <strong>combine the two different platforms<\/strong> and that each one fulfilled its main objective, course catalog, and online sales.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">On the one hand, it was decided to <a href=\"https:\/\/www.agorasanitaria.com\/\" target=\"_blank\" rel=\"noopener\">develop a custom website<\/a> to show the offer in an intuitive and visual way. Therefore, it was thought that the solution was fulfilled by installing a <strong>WordPress + WooCommerce<\/strong> to market the courses managed and conducted on the Moodle platform that was previously developed.<\/span><\/p>\n<h2><span class=\"ez-toc-section\" id=\"How_to_develop_a_website_for_the_sale_of_online_courses\"><\/span><b>How to develop a website for the sale of online courses<\/b><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<h3><span class=\"ez-toc-section\" id=\"Creative_platform_design\"><\/span><b>Creative platform design<\/b><span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p><span style=\"font-weight: 400;\">Visually, a specific design was created for the web portal and it was integrated at the brand level with the training portal, looking for homogeneity between the two platforms.<\/span><\/p>\n\n\n<div style=\"height:24px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<figure class=\"wp-block-image aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"794\" src=\"https:\/\/tresipunt.com\/wp-content\/uploads\/2022\/05\/Blog-1024x794.png\" alt=\"\" class=\"wp-image-40376\" style=\"width:682px;height:auto\" srcset=\"https:\/\/tresipunt.com\/wp-content\/uploads\/2022\/05\/Blog-1024x794.png 1024w, https:\/\/tresipunt.com\/wp-content\/uploads\/2022\/05\/Blog-300x233.png 300w, https:\/\/tresipunt.com\/wp-content\/uploads\/2022\/05\/Blog-768x595.png 768w, https:\/\/tresipunt.com\/wp-content\/uploads\/2022\/05\/Blog-1536x1190.png 1536w, https:\/\/tresipunt.com\/wp-content\/uploads\/2022\/05\/Blog.png 1920w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<div style=\"height:24px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n<h3><span class=\"ez-toc-section\" id=\"Course_enrollments\"><\/span><b>Course enrollments<\/b><span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p><span style=\"font-weight: 400;\">The user would be able to access and enroll in the courses in which he\/she is interested. All enrollment management would be done from this web portal.<\/span><\/p>\n\n\n<div style=\"height:24px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<figure class=\"wp-block-image aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"799\" src=\"https:\/\/tresipunt.com\/wp-content\/uploads\/2022\/05\/Mis-cursos-1024x799.png\" alt=\"\" class=\"wp-image-40379\" style=\"width:734px;height:auto\" srcset=\"https:\/\/tresipunt.com\/wp-content\/uploads\/2022\/05\/Mis-cursos-1024x799.png 1024w, https:\/\/tresipunt.com\/wp-content\/uploads\/2022\/05\/Mis-cursos-300x234.png 300w, https:\/\/tresipunt.com\/wp-content\/uploads\/2022\/05\/Mis-cursos-768x599.png 768w, https:\/\/tresipunt.com\/wp-content\/uploads\/2022\/05\/Mis-cursos-1536x1198.png 1536w, https:\/\/tresipunt.com\/wp-content\/uploads\/2022\/05\/Mis-cursos.png 1920w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<div style=\"height:24px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n<h3><span class=\"ez-toc-section\" id=\"Training_platform\"><\/span><b>Training platform<\/b><span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p><span style=\"font-weight: 400;\">And on the other hand, the training part was done through the <strong>Moodle eLearning platform<\/strong>, a platform that the client already knew and that fulfilled all the training requirements.<\/span><\/p>\n\n\n<div style=\"height:26px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<figure class=\"wp-block-image aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"640\" src=\"https:\/\/tresipunt.com\/wp-content\/uploads\/2025\/10\/project_screenshot_2-1024x640.png\" alt=\"\" class=\"wp-image-40426\" style=\"width:736px;height:auto\" srcset=\"https:\/\/tresipunt.com\/wp-content\/uploads\/2025\/10\/project_screenshot_2-1024x640.png 1024w, https:\/\/tresipunt.com\/wp-content\/uploads\/2025\/10\/project_screenshot_2-300x188.png 300w, https:\/\/tresipunt.com\/wp-content\/uploads\/2025\/10\/project_screenshot_2-768x480.png 768w, https:\/\/tresipunt.com\/wp-content\/uploads\/2025\/10\/project_screenshot_2-1536x960.png 1536w, https:\/\/tresipunt.com\/wp-content\/uploads\/2025\/10\/project_screenshot_2-2048x1280.png 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<div style=\"height:26px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n<h3><span class=\"ez-toc-section\" id=\"Integration_with_Moodle_via_the_custom_WordPress_plugin\"><\/span><b>Integration with Moodle via the custom WordPress plugin<\/b><span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p><span style=\"font-weight: 400;\">Besides the challenge of the project, it was also a challenge to create a custom WordPress plugin that would allow us to integrate both platforms, looking for automatisms, transparency and agility throughout the process.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Through web services, we connect the two platforms at specific moments; the moment of acceptance of an enrollment where the user is enrolled in Moodle, or when the administrator creates a course in Moodle, which is automatically synchronized in the web portal.<\/span><\/p>\n\n\n<div style=\"height:24px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<figure class=\"wp-block-image aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"640\" src=\"https:\/\/tresipunt.com\/wp-content\/uploads\/2025\/10\/project_screenshot_1-1024x640.png\" alt=\"\" class=\"wp-image-40423\" style=\"width:730px;height:auto\" srcset=\"https:\/\/tresipunt.com\/wp-content\/uploads\/2025\/10\/project_screenshot_1-1024x640.png 1024w, https:\/\/tresipunt.com\/wp-content\/uploads\/2025\/10\/project_screenshot_1-300x188.png 300w, https:\/\/tresipunt.com\/wp-content\/uploads\/2025\/10\/project_screenshot_1-768x480.png 768w, https:\/\/tresipunt.com\/wp-content\/uploads\/2025\/10\/project_screenshot_1-1536x960.png 1536w, https:\/\/tresipunt.com\/wp-content\/uploads\/2025\/10\/project_screenshot_1-2048x1280.png 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<div style=\"height:24px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n<p><span style=\"font-weight: 400;\">In this way, we had the potential of each platform and what we had to develop was the integration between both, so that for the user it would be as transparent as possible.<\/span><\/p>\n<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Results\"><\/span><strong>Results<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p><span style=\"font-weight: 400;\">Currently, the platform has about 31,400 users and about 30 active courses, which are offered to members and non-members. These courses are updated by creating new editions.&nbsp;<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Throughout the life of this project, which has been active since 2018, improvements and new developments have been made to update both platforms. Also, over the years, the user experience and other aspects have improved, leading to positive feedback from both customers and end-users.<\/span><\/p>\n<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Conclusion\"><\/span><strong>Conclusion<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p><span style=\"font-weight: 400;\">The combination of WordPress CMS with WooCommerce linking to Moodle LMS is a perfect package for selling and <a href=\"https:\/\/tresipunt.com\/en\/moodle-en\/education-must-be-accessible-or-not-be\/\" target=\"_blank\" rel=\"noopener\">delivering online courses in an accessible way<\/a>.&nbsp;<\/span><\/p>\n<p><span style=\"font-weight: 400;\">We are in a post-covid era where this type of education is being promoted and Moodle offers us many options and is very customizable.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">We encourage you to put it into practice.&nbsp;<\/span><\/p>","protected":false},"excerpt":{"rendered":"<p>The Official College of Pharmacists of Barcelona (COFB) and the Official College of Pharmacists of Madrid (COFM) joined forces to create a training platform for members and non-members, mainly from Spain, where they can be trained in different areas within the field of healthcare.<\/p>\n","protected":false},"author":1,"featured_media":40435,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"advgb_blocks_editor_width":"","advgb_blocks_columns_visual_guide":"","site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"set","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"_price":"","_stock":"","_tribe_ticket_header":"","_tribe_default_ticket_provider":"","_tribe_ticket_capacity":"0","_ticket_start_date":"","_ticket_end_date":"","_tribe_ticket_show_description":"","_tribe_ticket_show_not_going":false,"_tribe_ticket_use_global_stock":"","_tribe_ticket_global_stock_level":"","_global_stock_mode":"","_global_stock_cap":"","_tribe_rsvp_for_event":"","_tribe_ticket_going_count":"","_tribe_ticket_not_going_count":"","_tribe_tickets_list":"[]","_tribe_ticket_has_attendee_info_fields":false,"footnotes":""},"categories":[161,136,144],"tags":[],"class_list":["post-13274","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-e-learning","category-moodle","category-web"],"acf":[],"author_meta":{"display_name":"admin_tresipunt","author_link":"https:\/\/tresipunt.com\/en\/author\/admin_tresipunt\/"},"featured_img":"https:\/\/tresipunt.com\/wp-content\/uploads\/2022\/05\/eng-300x169.webp","coauthors":[],"tax_additional":{"categories":{"linked":["<a href=\"https:\/\/tresipunt.com\/en\/blog\/e-learning\/\" class=\"advgb-post-tax-term\">eLearning<\/a>","<a href=\"https:\/\/tresipunt.com\/en\/blog\/moodle\/\" class=\"advgb-post-tax-term\">Moodle<\/a>","<a href=\"https:\/\/tresipunt.com\/en\/blog\/web\/\" class=\"advgb-post-tax-term\">Web<\/a>"],"unlinked":["<span class=\"advgb-post-tax-term\">eLearning<\/span>","<span class=\"advgb-post-tax-term\">Moodle<\/span>","<span class=\"advgb-post-tax-term\">Web<\/span>"]}},"comment_count":"0","relative_dates":{"created":"Posted 2 years ago","modified":"Updated 6 months ago"},"absolute_dates":{"created":"Posted on 11\/05\/2024","modified":"Updated on 01\/10\/2025"},"absolute_dates_time":{"created":"Posted on 11\/05\/2024 0:00","modified":"Updated on 01\/10\/2025 12:01"},"featured_img_caption":"","series_order":"","_links":{"self":[{"href":"https:\/\/tresipunt.com\/en\/wp-json\/wp\/v2\/posts\/13274","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/tresipunt.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/tresipunt.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/tresipunt.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/tresipunt.com\/en\/wp-json\/wp\/v2\/comments?post=13274"}],"version-history":[{"count":5,"href":"https:\/\/tresipunt.com\/en\/wp-json\/wp\/v2\/posts\/13274\/revisions"}],"predecessor-version":[{"id":40439,"href":"https:\/\/tresipunt.com\/en\/wp-json\/wp\/v2\/posts\/13274\/revisions\/40439"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/tresipunt.com\/en\/wp-json\/wp\/v2\/media\/40435"}],"wp:attachment":[{"href":"https:\/\/tresipunt.com\/en\/wp-json\/wp\/v2\/media?parent=13274"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/tresipunt.com\/en\/wp-json\/wp\/v2\/categories?post=13274"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/tresipunt.com\/en\/wp-json\/wp\/v2\/tags?post=13274"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}