{"id":51195678,"url":"https://github.com/guilamu/simple-membership-manager","last_synced_at":"2026-06-27T20:01:32.054Z","repository":{"id":367283140,"uuid":"1280107270","full_name":"guilamu/simple-membership-manager","owner":"guilamu","description":"Lightweight, zero-dependency drop-in replacement for Restrict Content Pro, compatible with the same database tables and menu visibility hooks.","archived":false,"fork":false,"pushed_at":"2026-06-25T11:08:43.000Z","size":113,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-06-25T11:11:03.740Z","etag":null,"topics":["rcp","restrict-content-pro","wordpress"],"latest_commit_sha":null,"homepage":"https://github.com/guilamu/simple-membership-manager","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/guilamu.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-06-25T09:20:35.000Z","updated_at":"2026-06-25T11:08:46.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/guilamu/simple-membership-manager","commit_stats":null,"previous_names":["guilamu/simple-membership-manager"],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/guilamu/simple-membership-manager","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/guilamu%2Fsimple-membership-manager","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/guilamu%2Fsimple-membership-manager/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/guilamu%2Fsimple-membership-manager/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/guilamu%2Fsimple-membership-manager/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/guilamu","download_url":"https://codeload.github.com/guilamu/simple-membership-manager/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/guilamu%2Fsimple-membership-manager/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34866118,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-27T02:00:06.362Z","response_time":126,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["rcp","restrict-content-pro","wordpress"],"created_at":"2026-06-27T20:01:31.402Z","updated_at":"2026-06-27T20:01:32.048Z","avatar_url":"https://github.com/guilamu.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Simple Membership Manager\n\n[![Latest Release](https://img.shields.io/github/v/release/guilamu/simple-membership-manager?color=blue)](https://github.com/guilamu/simple-membership-manager/releases) [![License: GPL-3.0-or-later](https://img.shields.io/badge/license-GPL--3.0--or--later-green.svg)](https://github.com/guilamu/simple-membership-manager) [![WordPress: 5.0+](https://img.shields.io/badge/WordPress-5.0%2B-blue.svg)](https://wordpress.org) [![PHP: 7.0+](https://img.shields.io/badge/PHP-7.0%2B-purple.svg)](https://php.net)\n\nLightweight, zero-dependency drop-in replacement for Restrict Content Pro, compatible with the same database tables and menu visibility hooks.\n\n---\n\n## Access Control \u0026 Content Restriction\n- Choose from multiple restriction rules: by subscription level, access level (0-10), registered users, or specific user roles.\n- Show custom teaser message with a dynamic post excerpt to encourage registration.\n- Restrict content easily in the post editor screen using the dedicated metabox, or via shortcodes inside post content.\n\n## Membership \u0026 Customer Administration\n- View and manage customers and their active, expired, or cancelled memberships inside the dedicated admin screens.\n- Set specific expiration dates, date created, auto-renewals, and custom administrative notes for each membership.\n- Manage levels with custom durations (days/weeks/months/years), price, signup fees, trial periods, and roles.\n\n## Key Features\n- **Drop-in Compatibility:** Reuse the exact database tables of Restrict Content Pro without modifying schema.\n- **Multilingual:** Works with content in any language.\n- **Translation-Ready:** All strings are internationalized.\n- **Secure:** Enforces native WordPress nonce verification, capabilities, and sanitization on all processes.\n- **GitHub Updates:** Automatic updates from GitHub releases.\n\n## Requirements\n- WordPress 5.0 or higher\n- PHP 7.0 or higher\n\n## Installation\n\n### Replacing Restrict Content Pro (RCP) with SMM:\n1. **Deactivate Restrict Content Pro (RCP):** Go to the **Plugins** page in WordPress and deactivate RCP. \n   \u003e [!WARNING]\n   \u003e Do **not** keep both RCP and SMM active at the same time to avoid PHP class redeclaration conflicts.\n2. **Upload SMM:** Upload the `simple-membership-manager` folder to the `/wp-content/plugins/` directory.\n3. **Activate SMM:** Activate **Simple Membership Manager** through the **Plugins** menu.\n4. **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.\n\n## FAQ\n\n### Does SMM support payment processing?\nNo, 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.\n\n### Can I customize the restricted content message?\nYes, you can use the `rcp_restricted_message_filter` filter to customize the message shown to non-members:\n```php\nadd_filter( 'rcp_restricted_message_filter', function( $message ) {\n    return '\u003cp\u003eCustom warning message here.\u003c/p\u003e';\n} );\n```\n\n### Is SMM compatible with menu visibility controls?\nYes, 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.\n\n## Project Structure\n```\n.\n├── LICENSE                            # GNU GPL-3.0 License\n├── simple-membership-manager.php      # Main plugin file \u0026 bootstrap\n├── uninstall.php                      # Cleanup on uninstall\n├── README.md                          # Documentation and help text\n├── includes\n│   ├── class-github-updater.php       # GitHub auto-updates handler\n│   ├── Parsedown.php                  # Markdown parser for updater popup\n│   ├── db.php                         # Direct database query layers\n│   ├── class-smm-membership-level.php # Membership level compatibility class\n│   ├── class-smm-customer.php         # Customer compatibility class\n│   ├── class-smm-membership.php       # Membership compatibility class\n│   ├── functions-compat.php           # RCP function stubs layer\n│   ├── content-restriction.php        # Content filters, shortcodes, metaboxes\n│   └── emails.php                     # Emails template sender class\n├── admin\n│   ├── admin-pages.php                # Menu page registration\n│   ├── members-page.php               # Memberships CRUD interface\n│   ├── customers-page.php             # Customers listings\n│   ├── levels-page.php                # Membership levels CRUD\n│   ├── metabox-view.php               # Restriction metabox HTML layout\n│   └── admin-styles.css               # Admin stylesheet overrides\n└── languages\n    ├── rcp-fr_FR.po                   # French translation source file\n    ├── rcp-fr_FR.mo                   # Compiled French translation file\n    └── rcp.pot                        # Translation template file\n```\n\n## Changelog\n\n### 1.0.4 - 2026-06-26\n- **Removed:** The \"Members of any paid membership level(s)\" option from the subscription restriction metabox (`rcp_subscription_level_any_paid`).\n- **Removed:** All `index.php` files.\n\n### 1.0.3 - 2026-06-25\n- **Improved:** Upgraded default email layout to a modern, responsive, card-based HTML template with clean header, body, and footer sections.\n\n### 1.0.2 - 2026-06-25\n- **New:** Real-time autocomplete user email search when adding a membership manually.\n- **New:** Client-side validation and styling on the add membership form to prevent crashes.\n- **New:** Graceful server-side validation error redirects to avoid blank error pages.\n- **Removed:** Price and Signup Fee options on membership levels page as payments are not processed.\n\n### 1.0.1 - 2026-06-25\n- Initial release\n- Drop-in compatibility for Restrict Content Pro database tables\n- Standard user management, level CRUD, and customer overview pages\n- Integration of GitHub auto-updates and bug reporting utility\n\n## Security\n\nIf 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.\n\n## Contributing\n\nContributions are welcome! Please open an issue or submit a pull request on [GitHub](https://github.com/guilamu/simple-membership-manager).\n\nFor 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.\n\n## License\nThis project is licensed under the GNU General Public License v3.0 or later (GPL-3.0-or-later).\n\n---\n\nMade with love for the WordPress community\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fguilamu%2Fsimple-membership-manager","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fguilamu%2Fsimple-membership-manager","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fguilamu%2Fsimple-membership-manager/lists"}