Title: Gather Grove Courses
Author: gturtle108
Published: <strong>September 30, 2026</strong>
Last modified: September 30, 2026

---

Search plugins

![](https://ps.w.org/gather-grove-courses/assets/banner-772x250.png?rev=3722168)

![](https://ps.w.org/gather-grove-courses/assets/icon-256x256.png?rev=3722168)

# Gather Grove Courses

 By [gturtle108](https://profiles.wordpress.org/gturtle108/)

[Download](https://downloads.wordpress.org/plugin/gather-grove-courses.1.40.2.zip)

 * [Details](https://wordpress.org/plugins/gather-grove-courses/#description)
 * [Reviews](https://wordpress.org/plugins/gather-grove-courses/#reviews)
 *  [Installation](https://wordpress.org/plugins/gather-grove-courses/#installation)
 * [Development](https://wordpress.org/plugins/gather-grove-courses/#developers)

 [Support](https://wordpress.org/support/plugin/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](https://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](https://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

[⌊The course builder — modules and lessons on the left, the selected lesson's content,
format and duration on the right.⌉⌊The course builder — modules and lessons on the
left, the selected lesson's content, format and duration on the right.⌉[

The course builder — modules and lessons on the left, the selected lesson’s content,
format and duration on the right.

[⌊The lesson player as a member sees it: a progress ring, the course outline with
completed lessons ticked, and Mark complete.⌉⌊The lesson player as a member sees
it: a progress ring, the course outline with completed lessons ticked, and Mark 
complete.⌉[

The lesson player as a member sees it: a progress ring, the course outline with 
completed lessons ticked, and Mark complete.

[⌊A member's classroom — every course they're in, with progress and a Continue button.⌉⌊
A member's classroom — every course they're in, with progress and a Continue button
.⌉[

A member’s classroom — every course they’re in, with progress and a Continue button.

[⌊Members — everyone enrolled in a course, with add-by-name-or-email search and 
one-click remove.⌉⌊Members — everyone enrolled in a course, with add-by-name-or-
email search and one-click remove.⌉[

Members — everyone enrolled in a course, with add-by-name-or-email search and one-
click remove.

[⌊A course's settings, including Open enrollment: let logged-in members enroll themselves
for free.⌉⌊A course's settings, including Open enrollment: let logged-in members
enroll themselves for free.⌉[

A course’s settings, including Open enrollment: let logged-in members enroll themselves
for free.

[⌊What a visitor sees on an open-enrollment course: the outline with locked lessons
and an Enroll now button.⌉⌊What a visitor sees on an open-enrollment course: the
outline with locked lessons and an Enroll now button.⌉[

What a visitor sees on an open-enrollment course: the outline with locked lessons
and an Enroll now button.

## 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

 *   [ gturtle108 ](https://profiles.wordpress.org/gturtle108/)

[Translate “Gather Grove Courses” into your language.](https://translate.wordpress.org/projects/wp-plugins/gather-grove-courses)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/gather-grove-courses/),
check out the [SVN repository](https://plugins.svn.wordpress.org/gather-grove-courses/),
or subscribe to the [development log](https://plugins.trac.wordpress.org/log/gather-grove-courses/)
by [RSS](https://plugins.trac.wordpress.org/log/gather-grove-courses/?limit=100&mode=stop_on_copy&format=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.

## Meta

 *  Version **1.40.2**
 *  Last updated **17 hours ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 6.9 or higher **
 *  Tested up to **7.1.2**
 *  PHP version ** 8.1 or higher **
 * Tags
 * [e-learning](https://wordpress.org/plugins/tags/e-learning/)[elementor](https://wordpress.org/plugins/tags/elementor/)
   [lessons](https://wordpress.org/plugins/tags/lessons/)[lms](https://wordpress.org/plugins/tags/lms/)
   [online courses](https://wordpress.org/plugins/tags/online-courses/)
 *  [Advanced View](https://wordpress.org/plugins/gather-grove-courses/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/gather-grove-courses/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/gather-grove-courses/reviews/)

## Contributors

 *   [ gturtle108 ](https://profiles.wordpress.org/gturtle108/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/gather-grove-courses/)