Lightweight floating contact form plugin for WordPress with customizable fields, dual email notifications, and submission logging
Built with attention to detail, designed for businesses that demand flexibility, reliability, and complete control over their customer communications.
Route submissions to two recipients simultaneously with full CC support and customizable subject lines for efficient team collaboration.
Every submission is permanently saved to your WordPress database—even if email delivery fails. Never lose a lead again with built-in backup storage.
Precise control over button placement with left/right positioning and pixel-perfect offset adjustments for seamless brand integration.
6 professional color presets or custom hex values, editable labels, tooltips, and button text to match your brand identity.
Apply custom font families, sizes, and colors to labels or the entire form popup for consistent brand presentation.
Granular control over field visibility, requirements, and labels with individual customization for each form element.
Clean, intuitive interface with three organized tabs: General settings, Email notifications, and Form fields. Everything you need is right where you expect it to be.
Every form submission is automatically saved with complete details: date, contact info, IP address, user agent, and email delivery status. Export to CSV or HTML anytime.
100% free with full functionality—forever
The plugin is currently being reviewed for inclusion in the official WordPress Plugin Repository. Once approved, you'll be able to install it directly from your WordPress admin panel.
Stay tuned for the official release!
Complete overview of plugin capabilities and configuration options
| Category | Feature | Description |
|---|---|---|
| Widget positioning | Position control | Left or right side placement with pixel-precise bottom and side offset |
| Color schemes | 6 preset colors (Blue, Red, Green, Orange, Purple, Cyan) + custom hex input | |
| Interactive elements | Customizable tooltip text, optional pulsating animation | |
| Visibility toggle | Enable/disable widget without plugin deactivation | |
| Form configuration | Field visibility | Individual show/hide control for company, name, email, phone, message fields |
| Validation rules | Per-field required/optional status with independent configuration | |
| Custom labels | Editable labels for all form fields in any language | |
| Interface text | Customizable form title, submit button text, success message | |
| Additional content | Optional footer link (text + URL), terms/privacy text with HTML support | |
| Typography | Label styling | Custom font family, size, and color for field labels |
| Global fonts | Font family applied to entire form popup via inheritance | |
| Design system | Rounded corners, flat colors (no gradients), professional aesthetic | |
| Email routing | Dual recipients | Primary recipient + optional CC with independent enable checkbox |
| Subject customization | Configurable email subject line for filtering and organization | |
| Reply-To header | Automatic Reply-To using sender's email address | |
| Delivery tracking | Email status monitoring (sent/saved/error) with detailed logging | |
| Data management | Submission logging | Database storage of all submissions with timestamp, IP, user agent |
| Export functionality | CSV and HTML export formats for external processing | |
| Status indicators | Per-submission status tracking with error details | |
| Data retention | Permanent storage in WordPress database (wp_floating_contact_widget_logs) | |
| Security | Rate limiting | IP-based spam protection, configurable max submissions per 24h (default: 10) |
| GDPR compliance | Terms/privacy text field with HTML link support for legal pages | |
| Data validation | Server-side validation, AJAX submission without page reload | |
| Technical | Performance | ~32KB total size, no external dependencies, optimized CSS/JS |
| Accessibility | ARIA labels, keyboard navigation, screen reader support, focus management | |
| Responsive design | Mobile-first approach, adaptive heights (650px desktop / 550px mobile) | |
| Browser support | Modern browsers, progressive enhancement, no polyfills required |
PS Contact Widget is 100% free with full functionality—no "Pro" version, no hidden paywalls, no feature restrictions. Every capability you see in the feature table above is yours to use, on as many sites as you want, for commercial or personal projects.
This plugin took hundreds of hours to build, test, and maintain. If it saves you time or brings value to your business, consider buying me a coffee. Your support helps keep this plugin fully featured and free for the entire WordPress community.
Without community support, I may need to split this into a limited "Lite" version and paid "Pro" one. Let's keep it simple and free for everyone.
☕ Buy Me a CoffeeYes! Enable the "Send copy to second recipient (CC)" checkbox in the Email notifications tab, then enter the second email address. Both recipients will receive all form submissions.
In General settings, choose left or right side, then adjust bottom offset and side offset in pixels. You have full control over exact positioning.
Yes! Choose from 6 preset colors or enter a custom hex code (e.g., FF5733). The color applies to the button, header, and submit button with no gradients.
Yes! The terms text supports HTML, so you can add links like: <a href="/privacy">privacy policy</a>. Links are automatically styled with your theme color.
In the Form fields tab, enable "Customize label styling" to set font family, size, and color for labels. The font family also applies to the entire form popup.
Yes! Each field (company, name, email, phone, message) has a "Hide this field" checkbox in the Form fields tab. Hidden fields won't appear in the form.
The plugin includes IP-based rate limiting. Default: 10 submissions per 24 hours from the same IP. You can adjust the limit or disable it in General settings.
All submissions are automatically saved to your WordPress database (wp_floating_contact_widget_logs table) with full details including IP, user agent, timestamp, and email delivery status. This happens regardless of whether email notifications are enabled or successful—you'll never lose a submission. Access the log via Settings → PS Contact Widget – Log and export to CSV or HTML anytime.
Every form submission is saved to the database first, before attempting email delivery. If the email fails to send (server issues, wrong configuration, etc.), the submission is still safely stored in your log with an error status. You can review all submissions including failed emails in the admin panel.
CC BY-ND 4.0 (Creative Commons Attribution-NoDerivatives 4.0)
You can freely use this plugin on any number of websites (commercial or personal), but you cannot modify the code or create derivative works based on it.
Patryk Strzelecki is a multi-language programmer and IT enthusiast since his earliest years. With expertise spanning multiple programming languages and platforms, he creates practical tools that solve real-world problems. PS Contact Widget reflects his philosophy: elegant simplicity, clean code, and functionality without unnecessary bloat.
From backend systems to frontend interfaces, Patryk approaches every project with the same dedication to quality and user experience. For support, feature requests, or questions, please visit this website or reach out through the contact form on your WordPress site using this plugin!