Skip to content

Extending FluentCommunity

FluentCommunity is structured around WPFluent service providers, route files, controller classes, policies, and WordPress hooks.

Common Extension Points

Add a new module

  1. Create a module directory in Modules/.
  2. Register it from the module bootstrap used by FluentCommunity.
  3. Add any REST routes via a module-specific *_api.php file or module bootstrap.
  4. Reuse the existing policy classes or add a module-specific policy when the module needs its own access layer.

Add routes and controllers

  • Core routes live in app/Http/Routes/api.php.
  • Module routes live alongside the module, for example Modules/Course/Http/course_api.php.
  • Controllers should sanitize input with WordPress helpers and validate request data before persisting it.

Add hooks

  • Use the fluent_community/ prefix for new hooks.
  • Prefer action hooks for lifecycle events and filter hooks for payload customization.
  • Keep parameter lists stable because the hook reference pages are generated from the actual call sites.

Existing Modules

ModulePurpose
AuthInvitation, signup, and login flows.
CourseCourses, sections, lessons, and learner progress.
GutenbergFrontend rendering inside WordPress blocks.
IntegrationsFluentCRM, FluentCart, Fluent Forms, and Fluent Player bridges.
MigrationsBuddyBoss/BuddyPress migration tooling.
PushNotificationNotification fan-out for supported events.
ThemingTheme wrappers and headless portal rendering.

FluentCommunity developer documentation