Install
This is the repository archive. It installs, but the folder name will carry the branch suffix and updates will not flow.
Install straight from GitHub with WP-CLI:
wp plugin install https://github.com/esupporttechnology/membership-management-wp-plugin/archive/refs/heads/main.zipNo built-in updater. New versions won't appear under Dashboard → Updates. Install new releases yourself, or let Git Updater track the repository.
Complete membership management — registration, plans, payments (Stripe / PayHere), Email/SMS/WhatsApp notifications, automatic reminders, and a member dashboard.
Description
A single, self-contained plugin to manage memberships with:
- Customizable registration form — add your own fields from admin
- Membership plans — monthly, yearly, or any custom duration
- Payment gateways — Stripe (worldwide) or PayHere (Sri Lanka)
- Multi-channel notifications — Email (built-in), SMS & WhatsApp (Twilio)
- Automatic reminders — before expiry, on expiry, after expiry
- Member dashboard — status, expiry, renew, payment history
- Admin panel — search/filter members, manage plans, view payments
Installation
- Upload the plugin folder to
/wp-content/plugins/ - Activate via the "Plugins" menu in WordPress
- Go to Memberships → Settings to configure your payment gateway and notification channels
- Create plans via Memberships → Plans
- Add the shortcode
[mms_register]to a page
Shortcodes
[mms_register]— Registration form with plan picker[mms_plans]— Display available plans[mms_dashboard]— Member dashboard (status, renew, payment history)
Setup Steps
Stripe
- In Stripe Dashboard → Developers → API keys, copy the Publishable and Secret keys
- Paste them into Memberships → Settings
- (Optional) Add the Webhook URL shown in settings to Stripe webhooks for event
checkout.session.completed
PayHere (Sri Lanka)
- In PayHere merchant dashboard, copy your Merchant ID and Merchant Secret
- Paste them into Memberships → Settings
- Set the Notify URL (shown in settings) in your PayHere merchant settings
- Toggle "Sandbox" off when going live
Twilio (SMS / WhatsApp)
- Sign up at twilio.com, copy Account SID and Auth Token
- Buy an SMS number, paste it as "From SMS Number"
- For WhatsApp, enable the WhatsApp sandbox or get an approved number, paste it as "From WhatsApp Number"
Reminders
The plugin runs a daily cron job. By default it sends:
- Pre-expiry reminders 7 and 1 days before expiry (configurable)
- An "expired" notification on the day a membership expires
- A renewal reminder 3 days after expiry (configurable)
Customizing the Registration Form
Go to Memberships → Form Fields to add, remove, or reorder fields. Core fields (Name, Email, Phone, Address, ID Number) cannot be deleted but can be renamed, made optional, or hidden.
Custom field types: text, email, number, textarea, select, checkbox, date.
Changelog
1.0.0
- Initial release.