SimpleWP Forms
A WordPress form builder plugin with drag-and-drop Vue 3 UI, file uploads, payment gateways, template marketplace, and Gutenberg block.
by SimpleWP · github.com/fushiontest/simplewp-forms · 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/fushiontest/simplewp-forms/archive/refs/heads/main.zipA powerful drag-and-drop form builder for WordPress with a modern Vue 3 admin interface, REST API, file uploads, payment gateways, and template marketplace.
Features
- Drag & Drop Form Builder — Vue 3 SPA with 20+ field types, live preview, and layout containers (rows, fieldsets, tabs)
- File & Image Upload — Drag-and-drop with client-side Cropper.js integration and server-side storage
- Form Templates — Save, load, duplicate, and manage reusable form templates
- Template Marketplace — Browse and install pre-built templates; supports remote marketplace server
- Submissions Management — View, filter, and export submissions as CSV or XLSX
- Statistics Dashboard — Charts, top forms, activity logs, and time-based analytics
- Shortcode & Block —
[simplewp_form id="1"]shortcode and Gutenbergsimplewp/formsblock with live preview - Multi-language — i18n ready with Chinese (zh_CN) translation included
- 3 Form Themes — Default, Dark, and Simple themes out of the box
Pro Features (optional)
- Email Notifications — SMTP support, per-form recipients, customizable templates with token placeholders
- Payment Gateways — Stripe, PayPal, and Alipay integration with webhook handling
- Payment Records — Track transactions, status, and revenue
Screenshots
-
Form list dashboard with quick actions

-
Drag-and-drop form builder with live preview

-
Template marketplace with free and premium templates

-
Submissions viewer with filtering and export

-
Statistics dashboard with charts and analytics

-
Frontend form with the Default theme

-
Frontend form with the Dark theme

-
Frontend form with the Simple theme

Requirements
| Dependency | Version |
|---|---|
| WordPress | >= 5.8 |
| PHP | >= 7.4 |
| ZipArchive (PHP ext) | Required for XLSX export |
No WooCommerce or other plugins required.
Installation
From ZIP
- Download or build the plugin ZIP
- Go to WordPress Admin → Plugins → Add New → Upload Plugin
- Upload the ZIP and activate
From Source
cd wp-content/plugins/
git clone https://github.com/your-org/simplewp-forms.git
# Build the Vue admin (optional — pre-built dist is included)
cd simplewp-forms/vue-builder
npm install
npm run build
Usage
Shortcode
[simplewp_form id="1"]
Gutenberg Block
Add the SimpleWP Forms block in the editor and select a form from the dropdown.
Admin Menu
Navigate to SimpleWP Forms in the WordPress admin sidebar:
| Page | Description |
|---|---|
| Forms | Dashboard — list all forms with quick actions |
| New Form | Open the drag-and-drop form builder |
| Templates | Manage saved form templates |
| Marketplace | Browse and install pre-built templates |
| Submissions | View and filter all form submissions |
| Statistics | Dashboard with charts and analytics |
| Settings | Configure notifications, SMTP, payment gateways, reCAPTCHA |
REST API
Namespace: simplewp-forms/v1
Forms
| Method | Endpoint | Description |
|---|---|---|
GET |
/forms |
List all forms |
POST |
/forms |
Create a form |
GET |
/forms/{id} |
Get a form |
PUT |
/forms/{id} |
Update a form |
DELETE |
/forms/{id} |
Delete a form |
POST |
/forms/{id}/duplicate |
Duplicate a form |
Submissions
| Method | Endpoint | Description |
|---|---|---|
POST |
/submit |
Submit form data (public) |
GET |
/forms/{id}/submissions |
List submissions for a form |
GET |
/submissions |
List all submissions |
GET |
/submissions/{id} |
Get submission detail |
DELETE |
/submissions/{id} |
Delete a submission |
Templates & Marketplace
| Method | Endpoint | Description |
|---|---|---|
GET |
/templates |
List templates |
POST |
/templates |
Save a template |
GET |
/marketplace/templates |
Browse marketplace catalog |
POST |
/marketplace/templates |
Install a marketplace template |
Statistics
| Method | Endpoint | Description |
|---|---|---|
GET |
/stats/overview |
Full dashboard data |
GET |
/stats/by-date |
Submissions by date |
GET |
/stats/top-forms |
Top forms by submissions |
Settings
| Method | Endpoint | Description |
|---|---|---|
GET |
/settings |
Get settings |
PUT |
/settings |
Save settings |
Payments (Pro)
| Method | Endpoint | Description |
|---|---|---|
POST |
/payments/checkout |
Create checkout session (public) |
GET |
/payments |
List payments |
POST |
/webhooks/stripe |
Stripe webhook |
POST |
/webhooks/paypal |
PayPal webhook |
POST |
/webhooks/alipay |
Alipay notify |
Render (Public)
| Method | Endpoint | Description |
|---|---|---|
GET |
/render/{id} |
Render form HTML |
All admin endpoints require manage_options capability.
Hooks
Actions
| Hook | Arguments | Description |
|---|---|---|
simplewp_form_submitted |
$form_id, $submission_id, $form_data |
After a form is submitted |
simplewp_payment_completed |
$payment_id, $payment_arr |
After payment completes |
Filters
| Hook | Arguments | Description |
|---|---|---|
simplewp_forms_is_pro |
$pro |
Enable/disable Pro features |
simplewp_marketplace_url |
$url |
Override marketplace server URL |
Database
The plugin creates 5 custom tables on activation:
| Table | Purpose |
|---|---|
{prefix}simplewp_forms |
Form definitions and config |
{prefix}simplewp_submissions |
Form submission data |
{prefix}simplewp_form_templates |
Saved form templates |
{prefix}simplewp_activity_log |
Activity events |
{prefix}simplewp_payments |
Payment records (Pro) |
Tables are automatically created on plugin activation and cleaned up on uninstall.
Project Structure
simplewp-forms/
├── simplewp-forms.php # Plugin bootstrap
├── uninstall.php # Cleanup on uninstall
├── includes/
│ ├── class-admin.php # Admin pages, Vue SPA, export
│ ├── class-database.php # DB schema, CRUD, settings
│ ├── class-email.php # SMTP, notifications, encryption
│ ├── class-gutenberg.php # Gutenberg block registration
│ ├── class-marketplace.php # Template marketplace
│ ├── class-payment.php # Payment gateways (Pro)
│ ├── class-rest-api.php # REST API routes
│ ├── class-shortcode.php # Shortcode + HTML rendering
│ └── class-submission.php # Form submission + file upload
├── assets/
│ ├── block.js # Gutenberg block script
│ ├── frontend.js # Frontend form handling
│ ├── frontend.css # Frontend form styles
│ ├── cropper.min.js # Cropper.js v1.6.2
│ └── cropper.min.css # Cropper.js styles
├── languages/
│ ├── simplewp-forms.pot # Translation template
│ └── simplewp-forms-zh_CN.* # Chinese translation
└── vue-builder/dist/ # Pre-built Vue 3 SPA admin
Pro Mode
Enable Pro features during development by adding to wp-config.php:
define('SWPF_PRO', true);
Or via the Settings page toggle (stored in swpf_pro_mode option).
Marketplace
The template marketplace supports two modes:
- Built-in (default) — 4 bundled templates (Contact, Feedback, Booking, Newsletter)
- Remote server — Set
SWPF_MARKETPLACE_URLconstant or use thesimplewp_marketplace_urlfilter:
define('SWPF_MARKETPLACE_URL', 'https://your-marketplace.com/api/');
Security
- All admin AJAX/REST requests verify
manage_optionscapability - Public endpoints use nonce verification where applicable
- SMTP passwords and payment credentials are encrypted at rest using
wp_sodium_encrypt_symmetric() - File uploads validate MIME types and are stored outside the web root when possible
License
GPL-2.0-or-later — See LICENSE for details.
Contributing
- Fork the repository
- Create a feature branch
- Make your changes
- Submit a pull request
For bug reports and feature requests, please use the issue tracker.