<p align="center">
  <strong>GenForm — Drag & Drop Form Builder for WordPress</strong><br>
  <em>Build beautiful forms in minutes. No coding. No bloat. Just drag and drop.</em>
</p>

<p align="center">
  <a href="https://wordpress.org/plugins/genform/"><img src="https://img.shields.io/wordpress/plugin/v/genform?label=version&color=6366f1" alt="Plugin Version"></a>
  <a href="https://wordpress.org/plugins/genform/"><img src="https://img.shields.io/wordpress/plugin/wp-version/genform?label=WordPress&color=21759b" alt="WordPress"></a>
  <a href="https://www.php.net/"><img src="https://img.shields.io/badge/PHP-%3E%3D8.3-8892BF" alt="PHP"></a>
  <a href="https://www.gnu.org/licenses/gpl-3.0.html"><img src="https://img.shields.io/badge/license-GPLv3-green" alt="License"></a>
</p>

---

## ⚡ What is GenForm?

**GenForm** is a modern, lightweight WordPress form plugin. Create contact forms, feedback forms, booking requests, job applications, and more — using an intuitive drag-and-drop builder. No page reloads and absolutely no learning curve.

Packed with features right out of the box — 12 field types, 16+ templates, entry management, email notifications, CSV export, and more.

---

## 🎯 Why Choose GenForm?

| Pain Point | GenForm's Answer |
|---|---|
| Plugins that feel incomplete out of the box | **Feature-packed** — 12 field types, templates, entries, CSV export, and email notifications included |
| Plugins that load scripts on every page | CSS & JS load **only on pages with a form** — zero impact elsewhere |
| Submissions sent to external servers | All data stays in **your WordPress database** — nothing leaves your server |
| Complex dashboards with a steep learning curve | Intuitive **drag-and-drop builder** with live preview — ready in 2 minutes |
| Spam flooding your inbox | **Built-in honeypot + IP rate limiting** — no CAPTCHAs, no friction for visitors |
| GDPR compliance headaches | **Per-form consent checkbox** with customizable text, validated client + server |

---

## ✨ Features

### 🖱️ Drag & Drop Form Builder

- **12 field types:** Text, Email, Textarea, Number, Select, Radio, Checkbox, Date, URL, Phone, Hidden, Password
- Per-field customization: labels, placeholders, help text, required toggle, CSS classes
- 6 column-width options (25% to 100%) for multi-column layouts
- One-click field cloning with full configuration
- Type-specific controls: textarea rows, number min/max/step
- Live form preview before publishing

### 📚 16+ Ready-Made Templates

Pre-built templates across **7 categories** — General, Business, Booking, Marketing, Feedback, Education, and Healthcare. Pick one, customize, and publish in seconds.

### 📬 Smart Entry Management

- Search, filter by form, and switch between All / Unread / Trash views
- Quick-view popup and dedicated detail page with metadata (IP, browser, OS, source URL)
- Unread badge with auto-read marking
- Bulk actions: Read, Unread, Trash, Restore, Delete
- One-click CSV export with Excel-compatible formatting

### ✉️ Email Notifications

- Dynamic template tags: `{form_name}`, `{entry_id}`, `{admin_email}`, `{site_title}`, `{all_fields}`, `{field_*}`
- Customizable subject, body, sender identity, and reply-to per form
- Global sender defaults in Settings — configure once, use everywhere

### 🎨 Embed Anywhere

- **Gutenberg Block** with form picker
- **Shortcode** `[genform id="X"]` for Classic Editor, widgets, and all page builders
- Per-form typography (font size + weight) and submit button customization
- Post-submission: success message or redirect URL
- Conditional asset loading — zero overhead on pages without a form

### 🛡️ Security & Compliance

- Honeypot anti-spam (invisible to visitors)
- IP rate limiting (5/min per visitor)
- WordPress nonce verification on every submission
- GDPR consent checkbox (per-form, customizable text)
- reCAPTCHA v2/v3 key storage (integration-ready)
- Full input sanitization and output escaping
- Clean uninstall — all data removed when plugin is deleted

### ⚙️ Admin Experience

- Modern card-based dashboard with custom branding
- Dashboard widget with at-a-glance stats
- Admin Bar shortcuts to Forms and Entries
- One-click form duplication and shortcode copy
- Device metadata on every submission

---

## 🚀 Quick Start

```
1. Install & activate GenForm from Plugins → Add New
2. Go to GenForm → Add New
3. Choose "Start Blank" or pick a template
4. Drag fields → click to customize
5. Settings tab → submit button, success message, GDPR
6. Notifications tab → email alerts with template tags
7. Save Form → embed via block or [genform id="X"] shortcode
```

**Your form is live in 2 minutes!** ✅

---

## 🔌 Compatibility

GenForm works seamlessly with:

- ✅ **Gutenberg** (Block Editor)
- ✅ **Classic Editor**
- ✅ **Elementor**
- ✅ **Divi Builder**
- ✅ **Beaver Builder**
- ✅ **Any WordPress Theme**
- ✅ **WordPress Multisite**

---

## 📦 Installation

### From WordPress Dashboard

1. Go to **Plugins → Add New**
2. Search for **GenForm**
3. Click **Install Now** → **Activate**

### Manual Upload

1. Download the `.zip` from [WordPress.org](https://wordpress.org/plugins/genform/)
2. **Plugins → Add New → Upload Plugin**
3. Upload, install, and activate

---

## 📋 Changelog

### 1.2.0 — 2026-02-20

- **New:** Templates Library — 16+ pre-built form templates with one-click import
- **New:** Add New Form chooser modal (blank form or template library)
- **New:** Hidden and Password field types
- **New:** Help text setting for any field
- **New:** One-click field duplication
- **New:** Type-specific settings (textarea rows, number min/max/step)
- **Enhancement:** Improved plugin compatibility to ensure complete stability with your other themes and plugins
- **Enhancement:** Upgraded the form builder engine for a noticeably faster and more reliable drag-and-drop experience
- **Enhancement:** Optimized plugin performance for faster loading times in your WordPress dashboard
- **Enhancement:** 6-option column width selector with multi-column layout
- **Enhancement:** Submit button loading spinner and message fade-in animations
- **Enhancement:** Field settings panel displays field type icon header
- **Enhancement:** Upgraded empty canvas with illustration and welcoming copy
- **Update:** Full i18n coverage for all JS strings

### 1.1.0 — 2026-02-17

- **New:** Form Preview with preview badge and disabled submissions
- **New:** GDPR / Consent Checkbox with client + server validation
- **New:** Entry Detail Page with two-column layout and auto-read marking

### 1.0.0 — 2026-01-15

- Initial release with drag-and-drop builder, Gutenberg block, shortcode, AJAX submissions, entry management, CSV export, email notifications, honeypot anti-spam, rate limiting, dashboard widget, and global settings.

---

## 📄 License

GenForm is free software released under the [GNU General Public License v3.0](https://www.gnu.org/licenses/gpl-3.0.html).

---

## 🤝 Contributing

Contributions, bug reports, and feature requests are welcome! Feel free to open an issue or submit a pull request.

---

<p align="center">
  <strong>Built with ❤️ for the WordPress community</strong><br>
  <a href="https://wordpress.org/plugins/genform/">WordPress.org</a> · <a href="https://profiles.wordpress.org/arifrahman1/">Author</a>
</p>
