Installation
How to install and activate FCHub Memberships on your WordPress site.
Requirements
Before installing, make sure your environment meets these requirements:
| Requirement | Minimum Version |
|---|---|
| WordPress | 6.7+ |
| PHP | 8.3+ |
| FluentCart | Installed and activated |
FluentCart Must Be Active
FCHub Memberships depends on FluentCart for order processing, subscription management, and the integration feed system. If FluentCart is not active, the plugin will show an admin notice and all features will be disabled.
Install the Plugin
Download the plugin
Download the fchub-memberships.zip from GitHub.
Upload in WordPress
Go to Plugins > Add New > Upload Plugin in your WordPress admin. Choose the zip file and click Install Now.
Activate
Click Activate Plugin after the upload completes.
What Happens on Activation
When you activate the plugin, several things happen automatically:
-
Database tables are created — The plugin owns 16 custom tables for plans, grants, protection rules, drip notifications, audit logs, durable mutations, provider reconciliation, FluentCRM projection, webhooks, and stats. Migrations use WordPress
dbDelta()and verify the resulting schema. -
Recurring jobs are registered — Seven core WP-Cron events run validity checks every five minutes, drip and plan processing hourly, expiry, trial and statistics work daily, and audit cleanup weekly. After the durable webhook schema passes its readiness check, webhook recovery runs every five minutes and webhook cleanup runs daily, for nine recurring jobs in total.
-
Admin menu appears — A "Memberships" menu item appears in your WordPress admin sidebar (under the FluentCart section). This loads the single-page admin application where you manage plans, members, content rules, drip schedules, and settings.
-
FluentCart integration module registers — The "Memberships" integration appears in FluentCart's integration modules list. You can create integration feeds on any product to grant membership access on purchase.
No Configuration Required to Start
The plugin works out of the box with sensible defaults. You can start creating plans and protecting content immediately. Settings like restriction messages, protection modes, and email templates can be customized later from the Memberships settings page.
Verify the Installation
After activation, confirm everything is working:
- Go to Memberships in your admin sidebar — the admin SPA should load
- Go to FluentCart > Modules — "Memberships" should appear as an active integration
- Create a test plan from the Plans page to verify database connectivity
Optional Integrations
These plugins are not required but enable additional features when active:
| Plugin | What It Enables |
|---|---|
| FluentCRM | 15 automation triggers, 7 actions, 7 benchmarks, 25+ smart codes, contact profile section, segment filters |
| FluentCommunity | Automatic space and course access sync |
| LearnDash | Course and lesson protection through membership plans |
FluentCRM automation boots at init priority 1, before FluentCart registers at priority 2 and Memberships registers at priority 3. This makes the automation definitions available during the rest of initialisation.
Development Setup
If you are contributing to the plugin or building custom extensions, the admin SPA requires Node.js for asset compilation:
| Tool | Version |
|---|---|
| Node.js | 20+ |
| npm | Included with Node.js |
Run npm install and npm run dev from the plugin root to start the Vite development server for the admin interface. This is only needed for development — the production plugin ships with pre-built assets in assets/dist/.
Uninstalling
Deactivating the plugin removes all nine recurring jobs but preserves your database tables and settings. This is by design — you can deactivate and reactivate without losing anything.
To remove Memberships data during uninstall, open Memberships > Settings > Advanced and enable Delete all Memberships data when the plugin is uninstalled. The setting is off by default, and enabling it requires an explicit confirmation.
When opted in, uninstall removes all 16 Memberships-owned tables, plugin-owned options and the plan hierarchy cache, recurring and queued Memberships jobs, and the Memberships capability added to the administrator role. It does not remove independently granted capabilities from other roles. Leave the setting off if you intend to reinstall the plugin or retain membership records.