RSC Early Access
WordPress plugin for collecting and managing early access signups. Custom DB table, admin management, CSV export, and email notifications.
by Riaan Slabbert · github.com/rjslabbert/rsc-early-access-plugin · website
Install
No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:
wp plugin install https://github.com/rjslabbert/rsc-early-access-plugin/archive/refs/heads/main.zipWordPress plugin for collecting and managing early access signups with admin management, CSV export, and email notifications.
🔌 Why I built this
I needed a way to collect early access signups for Rock Solid Code without relying on a third party email service or paid plugin. I wanted full control signups stored in my own database, notifications straight to my inbox, and a clean admin page to manage and export the list. So I built it.
✨ Features
📋 Signup Collection
- Custom database table to store signups
- Collects name, email, date, and IP address
- Duplicate email detection with user feedback
- Form feedback states: success, already signed up, invalid email
📬 Email Notifications
- Instant email notification on every new signup
- Configurable notification email address via admin settings
- Defaults to WordPress site admin email on install
🖥️ Admin Management
- Dedicated admin menu page; Early Access
- View all signups in a clean table
- Delete individual signups
- Delete all signups with confirmation prompt
- Export full list as CSV
🛠️ Tech Stack
- PHP 7.4+
- WordPress Plugin API
- WordPress
$wpdb- custom database table wp_mail- email notificationsdbDelta- safe table creation and updates
🚀 Installation
- Download or clone this repo
- Upload
rsc-early-access.phpto/wp-content/plugins/rsc-early-access/ - Activate the plugin in WordPress Admin → Plugins
- Navigate to Early Access in the admin menu
- Set your notification email address under Settings
📋 Usage
Frontend form - add this HTML to any page or template where you want the signup form:
<form method="post" action="/">
<input type="text" name="rsc_early_access_name" placeholder="Your name">
<input type="email" name="rsc_early_access_email" placeholder="your@email.com" required>
<button type="submit">Notify me</button>
</form>
Feedback states - handle user feedback via the rsc_signup query parameter returned on redirect:
if ( isset( $_GET['rsc_signup'] ) ) {
if ( $_GET['rsc_signup'] === 'success' ) echo "You're on the list!";
if ( $_GET['rsc_signup'] === 'exists' ) echo "You're already signed up!";
if ( $_GET['rsc_signup'] === 'invalid' ) echo "Please enter a valid email.";
}
📁 Project Structure
rsc-early-access/
└── rsc-early-access.php # Single file plugin - all logic contained
📋 Version History
| Version | Changes |
|---|---|
| v1.0.0 | Initial release, signup collection, admin management, CSV export, email notifications |
👤 Author
RJS Labbert
- GitHub: @RJSLabbert
- Blog: rocksolidcode.co.za