Easily embed EZCONTACTFORM contact forms into your WordPress site using Gutenberg blocks or shortcodes.
- 🚀 Easy Integration - Add forms with Gutenberg blocks or simple shortcodes
- 🎨 Customizable Display - Inline or button/modal display modes
- 🌓 Theme Support - Light, dark, and system (auto-detect) themes
- 📱 Fully Responsive - Works perfectly on all devices
- ⚡ Lightweight - Minimal performance impact
- 🔧 Configurable - Global settings with per-form overrides
- 🎯 Multiple Forms - Add multiple forms to any page
- ♿ Accessible - WCAG compliant with ARIA labels
- WordPress 5.0 or higher
- PHP 7.4 or higher
- An EZCONTACTFORM account with a Form ID (Sign up for free)
Important: You must create an account at www.ezcontactform.com and create at least one form to get a Form ID before using this plugin.
- In your WordPress admin panel, go to Plugins > Add New
- Search for "EZCONTACTFORM"
- Click Install Now then Activate
- Download the latest release from GitHub Releases
- In your WordPress admin panel, go to Plugins > Add New > Upload Plugin
- Choose the downloaded ZIP file and click Install Now
- Click Activate Plugin
# Clone the repository
git clone https://github.com/ezcontactform/wordpress.git
# Copy plugin to WordPress plugins directory
cp -r wordpress/ezcontactform /path/to/wordpress/wp-content/plugins/
# Activate via WordPress admin or WP-CLI
wp plugin activate ezcontactformYou must have a Form ID to use this plugin. Get one by:
- Visit www.ezcontactform.com
- Sign up for a free account (or log in if you have one)
- Create a new form in your dashboard
- Copy your Form ID (also called Source ID) - you'll need this!
Example Form ID: abc123xyz
- In WordPress admin, go to Settings > EZCONTACTFORM
- Enter your Form ID (from step 1)
- Choose widget version (latest or pinned)
- Select default theme and display mode
- Click Save Settings
Note: You can use a global Form ID here, or specify different Form IDs per block/shortcode.
- Edit any page or post
- Click the + button to add a block
- Search for "EZCONTACTFORM"
- Select the block and enter your Form ID
- Configure display mode, theme, and button text
- Publish or update the page
Add this shortcode anywhere in your content:
[ezcontactform id="YOUR_FORM_ID"]
Basic inline form:
[ezcontactform id="abc123"]
With dark theme:
[ezcontactform id="abc123" theme="dark"]
Button that opens modal:
[ezcontactform id="abc123" display="button" button_text="Contact Us"]
All options:
[ezcontactform id="abc123" display="button" button_text="Get Started" theme="dark" container="my-form"]
| Attribute | Options | Default | Description |
|---|---|---|---|
id |
string | (required) | Your EZCONTACTFORM form ID |
display |
inline, button |
inline |
How to display the form |
theme |
system, light, dark |
system |
Color theme |
button_text |
string | Contact Us |
Button text (button mode only) |
container |
string | auto | Custom container HTML ID |
Form appears directly in your page content.
Best for:
- Dedicated contact pages
- Main content areas
- Form-focused landing pages
A button that opens the form in a modal overlay.
Best for:
- Sidebars and widgets
- Footers
- Call-to-action buttons
- Space-constrained areas
Features:
- Click button to open
- Close via × button, ESC key, or clicking outside
- Prevents page scroll when open
- Fully accessible
- System - Auto-detects user's OS preference (light/dark mode)
- Light - Always light theme
- Dark - Always dark theme
Access plugin settings at Settings > EZCONTACTFORM in WordPress admin.
- Default Form ID - Your EZCONTACTFORM form ID (create one at www.ezcontactform.com)
- Widget Version - Use latest or pin to specific version
- Default Theme - system, light, or dark
- Default Display Mode - inline or button
- Default Button Text - Text for button mode
- Debug Mode - Enable browser console logging
- Custom CSS - Disable default styles (use your own)
- Widget CDN URL - Override default CDN (advanced users)
This plugin uses Docker for local WordPress development.
# Clone the repository
git clone https://github.com/ezcontactform/wordpress.git
cd wordpress
# Start WordPress with Docker
docker-compose up -d
# Access WordPress
# Site: http://localhost:8888
# Admin: http://localhost:8888/wp-adminezcontactform-wordpress/
├── ezcontactform/ # Plugin directory
│ ├── ezcontactform.php # Main plugin file
│ ├── readme.txt # WordPress.org readme
│ ├── includes/ # PHP classes
│ │ ├── class-ezcontactform-admin.php
│ │ ├── class-ezcontactform-block.php
│ │ └── class-ezcontactform-shortcode.php
│ ├── blocks/ # Gutenberg blocks
│ │ └── ezcontactform-block/
│ ├── assets/ # CSS, JS, images
│ └── languages/ # Translation files
├── docker-compose.yml # Docker configuration
└── README.md # This file
The plugin is ready to use as-is. For distribution:
# Create a ZIP file
cd ezcontactform-wordpress
zip -r ezcontactform.zip ezcontactform/ -x "*/.*" "*/node_modules/*"You must create an account at www.ezcontactform.com to get a Form ID.
- Sign up for free
- Create a new form in the dashboard
- Copy your Form ID (also called Source ID)
- Use it in the WordPress plugin
Without a Form ID, the plugin cannot display forms.
Yes! Add multiple shortcodes or blocks with different Form IDs.
Yes, the plugin works with any properly coded WordPress theme.
Yes, the WordPress plugin is free. EZCONTACTFORM offers both free and paid plans. Visit www.ezcontactform.com/pricing for details.
Form submissions are stored securely on EZCONTACTFORM servers and accessible via your dashboard at www.ezcontactform.com.
Yes! Customize forms in your EZCONTACTFORM dashboard. The WordPress plugin provides theme options and display modes.
No! Simply use the Gutenberg block or copy/paste the shortcode.
- Documentation: www.ezcontactform.com/docs
- Support: www.ezcontactform.com/support
- Issues: GitHub Issues
Contributions are welcome! Please read CONTRIBUTING.md for details.
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
See CHANGELOG.md for release history.
This project is licensed under the MIT License - see the LICENSE file for details.
Made with ❤️ by the EZCONTACTFORM team.
Need help? Visit www.ezcontactform.com/support