Mostafizur-code/wp-emcontact-form-plugin
Folders and files
| Name | Name | Last commit date | ||
|---|---|---|---|---|
Repository files navigation
=== EmContact Form === Contributors: mostafizurcodes Tags: contact form, email, ajax form, form builder, drag-drop form, responsive form, custom form Requires at least: 5.0 Tested up to: 6.7 Stable tag: 1.0.0 Requires PHP: 7.4 License: GPLv2 or later License URI: https://www.gnu.org/licenses/gpl-2.0.html Professional, fully customizable contact form plugin with drag-drop fields, AJAX submission, email notifications, and advanced styling options. == Description == EmContact Form is a powerful, lightweight, and fully customizable WordPress contact form plugin that allows you to create beautiful, responsive contact forms without any coding knowledge. = Key Features = **Form Builder Features:** * ✅ Drag & Drop form fields (reorder easily) * ✅ 5+ field types (text, email, phone, textarea, and more) * ✅ Add/Remove fields dynamically * ✅ Required field validation * ✅ Custom labels and placeholders * ✅ Enable/disable individual fields **Email Features:** * ✅ Admin email notifications * ✅ User confirmation emails (automatic) * ✅ Custom email subjects and templates * ✅ HTML email support * ✅ Multiple recipient support **AJAX & Performance:** * ✅ AJAX form submission (no page reload) * ✅ Smooth animations and transitions * ✅ Fast and lightweight (only loads when needed) * ✅ No jQuery conflicts **Styling Options:** * ✅ 100% responsive design (mobile, tablet, desktop) * ✅ Custom colors (primary, button, hover) * ✅ Background options (color, gradient, image) * ✅ Custom font family and size * ✅ Dark mode support * ✅ Border radius control * ✅ Glassmorphism effect ready **Submission Management:** * ✅ Store submissions in database * ✅ View all submissions in admin panel * ✅ Export submissions to CSV * ✅ Delete individual or all submissions * ✅ IP address tracking * ✅ User agent logging * ✅ Auto-cleanup after 30 days **Security Features:** * ✅ Nonce verification (secure forms) * ✅ Data sanitization and validation * ✅ XSS protection * ✅ CSRF protection * ✅ SQL injection prevention **Developer Friendly:** * ✅ Clean, well-commented code * ✅ Action hooks and filters for extensibility * ✅ Translation ready (.pot file included) * ✅ WordPress coding standards * ✅ No external dependencies = Shortcodes = Basic contact form: `[emcontact_form]` Contact form with custom title: `[emcontact_form title="Get in Touch" description="Send us a message"]` Simple contact form: `[emcontact_simple]` = Why Choose EmContact Form? = 1. **No Coding Required** - Everything is managed through an intuitive admin interface 2. **Lightweight** - Only 50KB CSS + 30KB JavaScript, no bloat 3. **Privacy Focused** - No external services, your data stays on your server 4. **GDPR Ready** - Store only necessary data, auto-cleanup feature 5. **Accessibility Ready** - ARIA labels, keyboard navigation, screen reader compatible 6. **SEO Optimized** - Semantic HTML, proper heading structure = Use Cases = * **Business Websites** - Professional contact forms for companies * **Freelance Portfolios** - Let potential clients reach you easily * **E-commerce Sites** - Customer support and inquiry forms * **Non-Profit Organizations** - Donation and volunteer contact forms * **Educational Institutions** - Student and parent inquiry forms * **Real Estate Websites** - Property inquiry forms * **Restaurants & Hotels** - Reservation and booking inquiries == Installation == = Automatic Installation = 1. Go to WordPress Admin → Plugins → Add New 2. Search for "EmContact Form" 3. Click "Install Now" 4. Click "Activate" = Manual Installation = 1. Download the plugin zip file 2. Go to WordPress Admin → Plugins → Add New → Upload Plugin 3. Choose the zip file and click "Install Now" 4. Click "Activate" = FTP Installation = 1. Extract the zip file 2. Upload the `emcontact-form` folder to `/wp-content/plugins/` 3. Go to WordPress Admin → Plugins 4. Activate "EmContact Form" = Post-Installation Setup = 1. After activation, go to **Settings → EmContact Form** 2. Configure your form fields (drag & drop to reorder) 3. Set up email notifications 4. Customize colors and styling 5. Save your settings = Adding Form to Pages = Simply add this shortcode to any page or post: `[emcontact_form]` That's it! Your contact form is now live. == Frequently Asked Questions == = How do I add the contact form to my website? = Simply add the shortcode `[emcontact_form]` to any page, post, or widget area. = Can I add custom fields to the form? = Yes! Go to Settings → EmContact Form → Form Fields tab. You can add, remove, and reorder fields easily. = Does this plugin support AJAX submission? = Yes! Form submissions are handled via AJAX, so there's no page reload. = Can I change the form colors? = Absolutely! Go to Settings → EmContact Form → Style Settings tab. You can customize primary colors, button colors, backgrounds, and more. = Does it work with page builders? = Yes! The plugin works perfectly with all major page builders including Elementor, Beaver Builder, Divi, WPBakery, and Gutenberg. = Does the plugin store form submissions? = Yes, all submissions are stored in your WordPress database. You can view, delete, or export them from the admin panel. = Are email notifications customizable? = Yes! You can customize admin email recipient, subject line, and user confirmation emails. = Can I redirect users after form submission? = Yes! In the Email Settings tab, you can set a custom redirect URL. = Does it support reCAPTCHA? = Yes! Google reCAPTCHA v2 is supported. Enable it in Email Settings and add your site keys. = Is the plugin translation ready? = Yes! The plugin includes a .pot file and is fully translation ready. = Will this plugin work with caching plugins? = Yes! The plugin uses AJAX for submissions, so it works perfectly with all caching plugins. = How do I export submissions? = Go to EmContact Form → Submissions, then click the "Export to CSV" button. = Does this work in dark mode? = Yes! The plugin has built-in dark mode support. Enable it in Style Settings. = Is this plugin GDPR compliant? = The plugin stores only necessary data (name, email, message, IP, user agent) and provides auto-cleanup options. You can also disable IP logging if needed. = Can I use this on multiple websites? = Yes! The plugin is GPL licensed, so you can use it on unlimited websites. == Screenshots == 1. The contact form frontend with modern design 2. Form fields manager with drag & drop interface 3. Email settings configuration panel 4. Style customization options 5. Submissions management table 6. Mobile responsive view 7. AJAX submission with success message 8. Dark mode example == Changelog == = 1.0.0 = * Initial release * Complete form builder with drag & drop fields * AJAX form submission * Email notifications (admin + user) * Submissions database storage * Export to CSV functionality * Full styling customization * Dark mode support * Responsive design * 5+ field types * Translation ready * WordPress coding standards compliance == Upgrade Notice == = 1.0.0 = First stable release. Includes all core features: form builder, email notifications, AJAX submission, submissions database, styling options, and responsive design. == Privacy == = What data does this plugin collect? = When someone submits a form, the plugin stores: * Form field data (name, email, message, etc.) * IP address (for spam prevention) * User agent (browser information) * Timestamp of submission = How long is data retained? = Submissions are kept for 30 days by default. You can modify this via the `emcf_cleanup_days` filter. = Can I disable IP logging? = Yes, you can filter out IP logging by using: `add_filter('emcf_log_ip', '__return_false');` = Does this plugin share data with third parties? = No. All data stays on your server. The plugin does not send any data to external services. = Compliance = The plugin is designed to be GDPR compliant by: * Only storing necessary data * Providing auto-cleanup options * Allowing data export via CSV * Providing deletion options == Additional Information == = Recommended PHP Configuration = * PHP version: 7.4 or higher * Memory limit: 64MB or higher * Max input time: 60 seconds = Support = For support, feature requests, or bug reports, please visit: https://wordpress.org/support/plugin/emcontact-form = Translations = You can help translate the plugin into your language: https://translate.wordpress.org/projects/wp-plugins/emcontact-form == Hooks & Filters for Developers == = Actions = `emcf_before_form_render` - Runs before the form is rendered `emcf_after_form_render` - Runs after the form is rendered `emcf_before_submission_save` - Runs before saving submission `emcf_after_submission_save` - Runs after saving submission `emcf_before_email_send` - Runs before sending emails = Filters = `emcf_form_fields` - Filter form fields before rendering `emcf_email_headers` - Modify email headers `emcf_admin_email_subject` - Modify admin email subject `emcf_user_email_subject` - Modify user email subject `emcf_cleanup_days` - Change submission cleanup days (default: 30) `emcf_log_ip` - Disable IP logging (default: true) = Examples = Disable IP logging: ```php add_filter('emcf_log_ip', '__return_false');