Gather Grove Courses

Description

Gather Grove Courses turns your WordPress site into a home for self-paced learning. You build a course from modules and lessons, and your members work through it in a clean, focused lesson player that keeps their place.

What you get:

  • A drag-and-drop course builder. Course Module Lesson, reordered by dragging. Each lesson is a stack of blocks you arrange in any order: text (written in the familiar WordPress editor or in Markdown), video, audio, image gallery, downloadable file, a list of materials, an embedded form, spacers and dividers.
  • A lesson player your members will like. Lesson navigation, a progress ring, “Mark complete”, a “pick up where you left off” resume point, and a native video and audio player with speed control.
  • Watch-to-complete, done fairly. For video and audio you host yourself, a lesson can complete on its own once a member has actually watched enough of it. Skipping ahead does not count, and watch progress follows the member’s account from phone to laptop.
  • Prerequisites. Lock a module until the one before it is finished, or a course until another course is complete.
  • Enroll members your way. Switch on open enrollment and logged-in members enroll themselves from the course page with one click, or add and remove people yourself from the course builder. Selling through Gather Grove Booking and applications through Gather Grove Forms are there too when you want them.
  • Free preview lessons. Mark any lesson as a preview and anyone can watch it, enrolled or not.
  • A Resource Library. A Resources tab in the player lists every download in one place: course-wide sections you curate (a syllabus, a welcome pack) plus the files attached to each lesson.
  • My Courses. The [gather_grove_courses_library] shortcode gives each member a page of their courses with progress, and a one-click “Starter pages” button builds a ready-made Classroom page for you.
  • Preview as a member. See any lesson exactly as an enrolled member would before you publish it.
  • Fonts per course. Pick the heading and body fonts the player uses, from your Elementor Global Fonts, a curated list of fonts bundled with the plugin (nothing is loaded from a font service), or the reader’s system fonts.
  • Your words. Call your courses “Programs” or your members “Students”: the words members read follow your studio’s wording.
  • Media Library awareness. Open any file in the Media Library to see which lessons use it, and get a clear warning before deleting one that a lesson still needs.
  • Elementor support. A Course Card widget and dynamic tags (title, description, image, lesson count, progress and more) for designing course pages and loop grids. With Elementor Pro, the Starter pages button also builds Theme Builder templates for your course pages.
  • LearnDash migrator. Move your courses, lessons, students and their progress across from LearnDash, with a dry run first so you can see exactly what will happen.
  • Privacy tools. Watch progress is included in WordPress’s Export Personal Data and Erase Personal Data tools.
  • On-brand. Styles are driven by CSS custom properties, so the player follows your site’s palette.

Part of the Gather Grove suite

Gather Grove Courses is one part of Gather Grove, a family of plugins for running and growing a creative business on your own WordPress site. The plugins share one admin, one list of people, and one look:

  • Gather Grove Booking — classes, appointments and events, with online payment. Sell course access through Booking’s checkout, and a purchase enrolls the member automatically.
  • Gather Grove Forms — forms and applications. Embed a form in a lesson, or require an approved application before someone can enroll.
  • Gather Grove Communities — private member spaces. Members can share a lesson note with the group and discuss it there.
  • Gather Grove Pulse — email broadcasts, automated sequences and a contact list that knows who booked, joined or enrolled.
  • Gather Grove Companion — an AI assistant for your admin, and a chat helper for your visitors.

Learn more at gathergrove.io.

Free and Professional

Everything listed above is free, and stays free. The free plugin has no locked features, never expires, and is not a trial.

Gather Grove Courses Professional is a separate plugin, available from gathergrove.io, for studios that run cohorts and assessments. It adds:

  • Quizzes with five question types, automatic grading and an essay grading queue
  • Completion certificates with public verification links
  • Cohorts, with a roster you manage from the course builder
  • Drip release by calendar, enrollment date or live-class attendance
  • Live-class attendance that completes the matching lesson, with Gather Grove Booking
  • The full set of Elementor widgets, including Course Catalog, Curriculum and Progress Ring

Compare every feature at gathergrove.io/docs/pricing.

External services

This plugin can connect to the following services. None of them is contacted unless you use the feature that needs it.

YouTube, Vimeo and other oEmbed providers — when you paste a YouTube, Vimeo or other video link into a lesson, WordPress’s oEmbed system asks that provider for the embed code, and the provider’s player then loads from its own servers when a member opens the lesson. The member’s browser connects to the provider, which receives their IP address and whatever the provider’s player collects.
YouTube terms of service: https://www.youtube.com/t/terms
Google privacy policy: https://policies.google.com/privacy
Vimeo terms of service: https://vimeo.com/terms
Vimeo privacy policy: https://vimeo.com/privacy

Screenshots

Installation

  1. Install Gather Grove Courses from the Plugins screen, or upload the gather-grove-courses directory to /wp-content/plugins/.
  2. Activate it through the Plugins screen.
  3. Open Gather Grove Courses in the admin sidebar and add your first course, then build its modules and lessons in the course builder.
  4. Under Gather Grove Courses → Settings, press “Create starter pages” to build a Classroom page where members find their courses.

FAQ

Where is my course data kept?

In your own WordPress database. Courses are a WordPress post type, and lessons, progress and watch state live in tables belonging to this plugin. Nothing is sent to our servers.

How do members get access to a course?

Turn on “Open enrollment” in a course’s settings and logged-in members can enroll themselves from the course page, or add people yourself from the Members panel in the course builder. A member is also enrolled when they buy the course through Gather Grove Booking’s checkout, when their application is approved in Gather Grove Forms, or when you import them from LearnDash. Preview lessons are open to everyone.

Do I need the other Gather Grove plugins?

No. Courses is complete on its own: build courses, and enroll members through open enrollment or the course builder’s Members panel. The other plugins are there if your studio grows into them — Booking to sell courses, Forms to take applications.

Do I need Elementor?

No. The lesson player, the builder and the My Courses page all work with any theme. Elementor adds a Course Card widget and dynamic tags; Elementor Pro adds Theme Builder templates.

What happens to my courses if I delete the plugin?

Nothing, by default. Deleting the plugin leaves your courses, lessons and progress in place, so reinstalling restores them. To remove that data too, turn on the switch in the General card under Gather Grove Courses → Settings before you delete the plugin.

Can I move from LearnDash?

Yes. Gather Grove Courses → Import scans your LearnDash courses, shows you a dry run, and then imports curriculum, students and their progress one course at a time.

Does it change anything about my site’s login or security?

Two small protections are on by default, shared by every Gather Grove plugin. Visitors who are not logged in can no longer read your site’s list of account names (WordPress normally publishes it at /wp-json/wp/v2/users and through ?author= links). And after 10 failed logins from one address in 15 minutes, that address has to wait before trying again. Logged-in editors are not affected, and sites behind Cloudflare are recognised automatically. If you already use a security plugin, or need the public account list, return false from the gather_grove/security/throttle_logins or gather_grove/security/hide_user_list filter to turn either off.

Reviews

There are no reviews for this plugin.

Contributors & Developers

“Gather Grove Courses” is open source software. The following people have contributed to this plugin.

Contributors

Translate “Gather Grove Courses” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.

Changelog

1.40.2

  • Updated the shared Gather Grove core to 0.70.0, so the whole suite runs the same version.

1.40.1

  • Fixed: course pages work straight after the plugin is activated on a new site. Before, a course’s address showed “Page not found” until you re-saved Settings Permalinks.
  • Fixed: Courses’ built-in Markdown converter no longer clashes with another plugin that ships its own copy of the same library.
  • Improved: an automated check now confirms that everything which changes your site’s data requires both a valid security token and the right permission.

1.40.0

  • New: Gather Grove Booking’s Studio Director role (Booking 1.198.0) can build and run courses, the same as a Gather Grove Manager.

1.39.1

  • Fixed: on block themes (such as Twenty Twenty-Five) course pages no longer show an empty “Written by” line or a list of blog posts. Courses get their own page and catalogue templates; your theme’s own course template still takes priority.
  • Fixed: removed the unused “Status” field from the course settings box. WordPress’s Publish box decides whether a course is visible.
  • Fixed: a page using the certificates shortcode no longer shows the raw shortcode when certificates are not available.
  • Fixed: a Resource Library save that doesn’t come from the course builder in the expected format is now refused, instead of emptying the course’s library.
  • Improved: classroom cards show each course’s featured image, with a simple placeholder when there is none.
  • Improved: the builder’s Members and Resource library panels start collapsed, show a count, and remember whether you opened them — the course outline is now at the top.

1.39.0

  • Changed: WordPress 6.9 or later is now required.
  • Changed: the two shortcodes have new names — [gg_courses_library] is now [gather_grove_courses_library], and [gg_courses_certificates] is now [gather_grove_courses_certificates]. Pages and Elementor layouts that use the old names are updated automatically the first time the site loads after the update; you don’t need to edit anything.
  • Changed: lesson and certificate-verification links use new parameter names. Old links (in emails, bookmarks or printed certificates) keep working and forward to the new address.
  • Changed: settings are carried across to their new names automatically on update. If a LearnDash import is running while you update, start that import again afterwards.
  • New: enroll members without Gather Grove Booking or Forms. Turn on open enrollment in a course’s settings and logged-in members can enroll themselves from the course page; visitors who aren’t logged in are asked to log in first. Course prerequisites still apply.
  • New: a Members panel in the course builder. See who is enrolled, find anyone on your site by name or email and add them, or remove someone (their progress is kept).
  • New: a General card under Settings with the “delete my data when the plugin is deleted” switch. It is off unless you turn it on.
  • Fixed: a member who was refunded or removed could not be enrolled again by a new purchase or approval. Buying the course again (or being approved again) now re-enrolls them, and so do open enrollment and the Members panel. Before, the second enrollment failed silently and the member paid without getting access.

1.38.0

  • New: the Media Library shows which lessons use a file. Open any video, audio file or image and a “Used in lessons” box lists each course and lesson it appears in, with a link to the course builder. Deleting a file that a lesson uses now names those lessons before you confirm.
  • Changed: when a file is too big to upload, the message now says it is over the per-file limit, and suggests compressing it or adding it as a YouTube or Vimeo link.

1.37.0

  • Changed: a lesson can now hold up to 150 blocks (was 40).

1.36.2

  • Fixed: after marking a lesson complete, the “N of M lessons complete” line under the progress ring now updates straight away.

1.36.1

  • Fixed: activating the plugin on a MySQL site no longer writes two harmless “database error” lines to the debug log.

1.36.0

  • New: “Courses you teach” in My Courses. A course’s instructor now finds it in their My Courses list, marked “You teach this”, with every lesson unlocked. Nothing they do there is recorded as progress.
  • New: “Also show in Resources” for lesson videos, audio and files, so members can come back to them from the course’s Resources tab.
  • Fixed: a course whose only lesson downloads were single File blocks now shows its Resources tab.

1.35.0

  • Improved: renamed words read correctly mid-sentence, including “a” or “an” before them.

1.34.0

  • New: your studio’s own words for course, module, lesson and member are used everywhere a member looks.
  • New: rename the “Learning” tab on the member account page.
  • New: watch progress follows the member’s account, so a video picks up where they left off on any device.

1.33.0

  • Fixed: new video and audio blocks are no longer watch-gated unless you turn it on, and watch-gating now only applies to media you host yourself.