https://github.com/guilamu/simple-membership-manager
Lightweight, zero-dependency drop-in replacement for Restrict Content Pro, compatible with the same database tables and menu visibility hooks.
https://github.com/guilamu/simple-membership-manager
rcp restrict-content-pro wordpress
Last synced: 4 days ago
JSON representation
Lightweight, zero-dependency drop-in replacement for Restrict Content Pro, compatible with the same database tables and menu visibility hooks.
- Host: GitHub
- URL: https://github.com/guilamu/simple-membership-manager
- Owner: guilamu
- License: agpl-3.0
- Created: 2026-06-25T09:20:35.000Z (6 days ago)
- Default Branch: main
- Last Pushed: 2026-06-25T11:08:43.000Z (6 days ago)
- Last Synced: 2026-06-25T11:11:03.740Z (6 days ago)
- Topics: rcp, restrict-content-pro, wordpress
- Language: PHP
- Homepage: https://github.com/guilamu/simple-membership-manager
- Size: 110 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Simple Membership Manager
[](https://github.com/guilamu/simple-membership-manager/releases) [](https://github.com/guilamu/simple-membership-manager) [](https://wordpress.org) [](https://php.net)
Lightweight, zero-dependency drop-in replacement for Restrict Content Pro, compatible with the same database tables and menu visibility hooks.
---
## Access Control & Content Restriction
- Choose from multiple restriction rules: by subscription level, access level (0-10), registered users, or specific user roles.
- Show custom teaser message with a dynamic post excerpt to encourage registration.
- Restrict content easily in the post editor screen using the dedicated metabox, or via shortcodes inside post content.
## Membership & Customer Administration
- View and manage customers and their active, expired, or cancelled memberships inside the dedicated admin screens.
- Set specific expiration dates, date created, auto-renewals, and custom administrative notes for each membership.
- Manage levels with custom durations (days/weeks/months/years), price, signup fees, trial periods, and roles.
## Key Features
- **Drop-in Compatibility:** Reuse the exact database tables of Restrict Content Pro without modifying schema.
- **Multilingual:** Works with content in any language.
- **Translation-Ready:** All strings are internationalized.
- **Secure:** Enforces native WordPress nonce verification, capabilities, and sanitization on all processes.
- **GitHub Updates:** Automatic updates from GitHub releases.
## Requirements
- WordPress 5.0 or higher
- PHP 7.0 or higher
## Installation
### Replacing Restrict Content Pro (RCP) with SMM:
1. **Deactivate Restrict Content Pro (RCP):** Go to the **Plugins** page in WordPress and deactivate RCP.
> [!WARNING]
> Do **not** keep both RCP and SMM active at the same time to avoid PHP class redeclaration conflicts.
2. **Upload SMM:** Upload the `simple-membership-manager` folder to the `/wp-content/plugins/` directory.
3. **Activate SMM:** Activate **Simple Membership Manager** through the **Plugins** menu.
4. **Data Verification:** Go to **Restrict → Memberships**. SMM will automatically detect and reuse your existing RCP database tables, seamlessly picking up all your customers, subscription levels, active/expired/cancelled memberships, and notes without any data loss.
## FAQ
### Does SMM support payment processing?
No, Simple Membership Manager is a lightweight drop-in replacement focused on membership management, content restriction, and user role synchronization. It does not contain any payment gateways or payment processing logic.
### Can I customize the restricted content message?
Yes, you can use the `rcp_restricted_message_filter` filter to customize the message shown to non-members:
```php
add_filter( 'rcp_restricted_message_filter', function( $message ) {
return '
Custom warning message here.
';
} );
```
### Is SMM compatible with menu visibility controls?
Yes, SMM implements the exact function compatibility stubs used by the `advanced-menu-items-visibility-control` plugin to hide or show menu items based on membership levels.
## Project Structure
```
.
├── LICENSE # GNU GPL-3.0 License
├── simple-membership-manager.php # Main plugin file & bootstrap
├── uninstall.php # Cleanup on uninstall
├── README.md # Documentation and help text
├── includes
│ ├── class-github-updater.php # GitHub auto-updates handler
│ ├── Parsedown.php # Markdown parser for updater popup
│ ├── db.php # Direct database query layers
│ ├── class-smm-membership-level.php # Membership level compatibility class
│ ├── class-smm-customer.php # Customer compatibility class
│ ├── class-smm-membership.php # Membership compatibility class
│ ├── functions-compat.php # RCP function stubs layer
│ ├── content-restriction.php # Content filters, shortcodes, metaboxes
│ └── emails.php # Emails template sender class
├── admin
│ ├── admin-pages.php # Menu page registration
│ ├── members-page.php # Memberships CRUD interface
│ ├── customers-page.php # Customers listings
│ ├── levels-page.php # Membership levels CRUD
│ ├── metabox-view.php # Restriction metabox HTML layout
│ └── admin-styles.css # Admin stylesheet overrides
└── languages
├── rcp-fr_FR.po # French translation source file
├── rcp-fr_FR.mo # Compiled French translation file
└── rcp.pot # Translation template file
```
## Changelog
### 1.0.4 - 2026-06-26
- **Removed:** The "Members of any paid membership level(s)" option from the subscription restriction metabox (`rcp_subscription_level_any_paid`).
- **Removed:** All `index.php` files.
### 1.0.3 - 2026-06-25
- **Improved:** Upgraded default email layout to a modern, responsive, card-based HTML template with clean header, body, and footer sections.
### 1.0.2 - 2026-06-25
- **New:** Real-time autocomplete user email search when adding a membership manually.
- **New:** Client-side validation and styling on the add membership form to prevent crashes.
- **New:** Graceful server-side validation error redirects to avoid blank error pages.
- **Removed:** Price and Signup Fee options on membership levels page as payments are not processed.
### 1.0.1 - 2026-06-25
- Initial release
- Drop-in compatibility for Restrict Content Pro database tables
- Standard user management, level CRUD, and customer overview pages
- Integration of GitHub auto-updates and bug reporting utility
## Security
If you discover a security vulnerability in this plugin, please report it responsibly through [GitHub Security Advisories](https://github.com/guilamu/simple-membership-manager/security/advisories/new). Do not open a public issue for security reports.
## Contributing
Contributions are welcome! Please open an issue or submit a pull request on [GitHub](https://github.com/guilamu/simple-membership-manager).
For translations, the plugin uses WordPress i18n. You can contribute translations by editing the `.po` files in the `languages/` directory and generating the corresponding `.mo` files with the `wp i18n` CLI commands.
## License
This project is licensed under the GNU General Public License v3.0 or later (GPL-3.0-or-later).
---
Made with love for the WordPress community