Store file uploads for Contact Form 7
By default, Contact Form 7 dose not keep data it sends trough it’s contact forms. While plugins like Flamingo save that data, uploaded files are not added to Media Library. This plugin will save uploaded files to Media Library before email is sent by CF7. This plugin will raise an event with the the full file path & name. Subscribe to nmr_create_attachment_file_name filter to get and/or update data before attachment is added to media library. // The filter callback function. function example_callback( $file_name ) { // (maybe) modify $file_name. return $file_name; } add_filter( 'nmr_create_attachment_file_name', 'example_callback', 10, 1 ); Subscribe to nmr_before_insert_attachment filter to be able to change attachment attributes: caption and description are ‘post_excerpt’ and ‘post_content’. For other attributes, check documentation for wp_insert_attachment. // The filter callback function. function before_insert_attachment_callback( $attachment ) { // (maybe) modify $attachment array. return $attachment; } add_filter( 'nmr_before_insert_attachment', 'before_insert_attachment_callback', 10, 1 ); Optionally, subscribe to nmr_should_skip_save_attachment_to_media_library filter to be able to skip saving the attachment to media library: return true to skip, false is the default behaviour that saves the attachment to media library. Filter nmr_before_insert_attachment will not be called if skip was true. // The filter callback function. function skip_media_library_callback( $skip_save_to_media_library ) { // return true to skip saving to Media Library, false to save. return true; } add_filter( 'nmr_should_skip_save_attachment_to_media_library', 'skip_media_library_callback', 10, 1 ); This plugin will send the final attachment id if you are interested in getting other details, like attachment url. Listen to nmr_create_attachment_id_generated action. // The action callback function. function example_callback_id_generated( $attachment_id ) { // (maybe) do something with the args. $url = wp_get_attachment_url( $attachment_id ); } add_action( 'nmr_create_attachment_id_generated', 'example_callback_id_generated', 10, 1 ); Docs & Support Check the support forum on WordPress.org. If you can’t locate any topics that pertain to your particular issue, post a new topic for it. Store file uploads for Contact Form 7 Needs Your Support It is hard to continue development and support for this free plugin without contributions from users like you. If you enjoy using -Store file uploads for Contact Form 7- and find it useful, please consider making a donation. Your donation will help encourage and support the plugin’s continued development and better user support. Privacy Notices With the default configuration, this plugin, in itself, does not: track users by stealth; write any user personal data to the database; send any data to external servers; use cookies. It will, however store uploaded files trough Contact Form 7 in WordPress Media Library. Make sure your website users are aware of this fact!!! Pro Version Need more? The Pro version adds 13 features: Per-form control — choose which forms save files, set custom folder and rename pattern per form Auto-rename — rename files using patterns like {name}-{date}.{ext} from other CF7 fields Unique filenames — automatically avoid overwriting files with the same name Custom upload folder — save files to a specific subfolder per form File URL in email — replace [file] mail tag with a clickable link instead of an attachment Skip-mail compatibility — save files even when CF7’s skip_mail: on is set Upload log — admin screen listing every uploaded file with form, date, size, and download link Private files — store files outside the Media Library with access protection Admin notification — receive an email with file link on every upload Flamingo integration — link uploaded files to Flamingo inbound message entries Auto-delete — remove uploads older than a configurable number of days Image resize / compress — resize and compress images on upload Duplicate detection — skip saving if the same file was already uploaded (MD5 check) Get Pro →
Top keywords
- attachment24×3.72%
- file13×2.02%
- media13×2.02%
- library12×1.86%
- media library12×1.86%
- files11×1.71%
- filter10×1.55%
- skip10×1.55%
- callback9×1.40%
- save9×1.40%
- function8×1.24%
- form7×1.09%
WPZOOM Forms – Drag & Drop Contact Form Builder for WordPress
Simple & Powerful Contact Form Builder The easiest way to create contact forms in WordPress. Build your forms in a dedicated drag-and-drop builder — with spam protection, email notifications, and submission management, no coding required. Then embed them anywhere: as a block, an Elementor widget, or a shortcode. WPZOOM Forms is trusted by 10,000+ active websites. Perfect for contact forms, feedback forms, email forms, appointment booking, and quote request forms. Why Choose WPZOOM Forms? ✅ Build Once, Embed Anywhere – Create forms in the dedicated builder, then embed them via a block, the Elementor widget, or a shortcode in any theme ✅ Powerful Spam Protection – reCAPTCHA v2/v3, Cloudflare Turnstile, and Akismet built-in ✅ Email Notifications – Get instant alerts when someone submits your contact form ✅ Form Submissions Dashboard – All entries saved and searchable in WordPress ✅ Mobile Responsive – Forms look great on all devices ✅ Ready-to-Use Templates – Contact form, feedback form, appointment form, and more 💪 Want More Power? Try WPZOOM Forms PRO Take your forms to the professional level with WPZOOM Forms PRO. Generate forms instantly with AI, connect to Mailchimp for email marketing, accept file uploads, enable AJAX submissions, and customize email notifications with a visual editor. Perfect for businesses that need more than basic contact forms. ⭐️ Get the PRO version! ⭐️ Free Plugin Features Drag-and-Drop Form Builder Build and manage all your forms from a dedicated WPZOOM Forms section in your dashboard — a fast, standalone interface that’s independent of the block editor. Simply drag fields, arrange layouts, and customize styling, no coding required. Once a form is ready, embed it anywhere via a block, the Elementor widget, or a shortcode. Block Editor Embed Drop your form onto any page or post with the WPZOOM Form block. Pick a form, and it’s instantly embedded — no shortcodes to copy. Ready-to-Use Form Templates Get started fast with professionally designed templates, including contact, advanced contact, quote request, and feedback forms, plus twenty new layouts for leads, waitlists, demos, audits, events, support, education, real estate, restaurants, and local services. 🛡️ Advanced Spam Protection Keep unwanted submissions at bay with multiple protection layers: Google reCAPTCHA integration (v2 and v3) Akismet anti-spam protection Cloudflare Turnstile integration Email Notifications Receive instant email notifications when users submit your contact form. Stay organized and respond quickly to customer inquiries. Elementor Widget Full Elementor integration with a dedicated widget. Embed and style your contact forms directly in Elementor – no shortcodes needed. Shortcode Support Display forms anywhere on your website with simple shortcodes. Works with any theme, page builder, or widget area. Perfect for Classic Editor users. Date Picker Field Create booking forms, reservation systems, and event registrations with our versatile date picker. Perfect for restaurants, hotels, service providers, and appointment-based businesses. Submission Management All form submissions are safely stored in your WordPress dashboard. Search, filter, and export submissions with ease. Never lose important leads or customer information. ⬆️ Upgrade to WPZOOM Forms PRO WPZOOM Forms PRO adds advanced functionality for professional websites and businesses: 🌟 PRO Features Include: 🤖 AI Form Generator Describe your form in plain language and let AI create it for you. Skip the manual setup – just type what you need and get a fully configured form in seconds. 📧 Mailchimp Integration Automatically add form submissions to your Mailchimp audiences. Build newsletter signup forms or connect any form to your email marketing lists with just a few clicks. Custom Email Notifications Design beautiful, branded notification emails with our visual editor. Add dynamic field tags, customize layouts, and create professional emails that match your brand. No more generic, plain-text notifications. AJAX Form Submissions Eliminate page reloads for a seamless user experience. Users submit forms and see instant confirmation messages without leaving the page. Higher conversion rates and better user satisfaction guaranteed. 📎 File Upload Fields Accept PDF documents and images directly through your forms. Perfect for: Job applications (resumes, cover letters) Project briefs and client documentation Media submissions and portfolios Support ticket attachments 🕐 Time Picker Field Add time selection to your forms with a customizable time picker. Supports 12-hour and 24-hour formats with configurable minute intervals – ideal for appointment and booking forms. 🔒 GDPR Consent Field Stay compliant with privacy regulations by adding a GDPR consent checkbox to your forms. Customize the consent text and link to your privacy policy. 🔗 Hidden Fields Capture UTM parameters, referrer data, and other metadata automatically. Track where your leads are coming from without cluttering the form. 📥 Import & Export Forms Transfer forms between websites or create backups with JSON-based import/export. Keep your forms safe and portable across multiple WordPress installations. 📊 Export Submissions to CSV Download your form submissions as CSV files for reporting, analysis, or migration to other tools. 📋 Duplicate Forms Clone any existing form with one click. Quickly create variations of your forms without starting from scratch. 🔀 Conditional Logic Create dynamic forms that adapt based on user input. Show or hide fields depending on previous answers to create personalized form experiences. 🔢 Number Field Collect numeric data with validation. Perfect for quantity fields, age inputs, budget ranges, and any form requiring number-only entries. 📋 20+ PRO Templates Jump-start your forms with industry-specific templates: business consultation, project inquiry, patient intake, real estate listings, job applications, restaurant reservations, and more. Love WPZOOM Forms? Help other WordPress users find a great contact form plugin by leaving a 5-star review. Your feedback helps us continue improving and adding new features for the community. WPZOOM Forms vs Other Contact Form Plugins Lightweight & Fast – Unlike bloated alternatives, WPZOOM Forms is performance optimized with efficient database queries. No Limits – Create unlimited forms and receive unlimited submissions. No artificial restrictions. Community-Driven – Every feature is built based on real user feedback from our active community of 10,000+ websites. Professional Support – Get help when you need it with our responsive support team and comprehensive documentation. Regular Updates – Continuous improvements, new features, and compatibility updates ensure your contact forms always work perfectly. Additional Resources Ask a Question – Get support from our team and community Download Free Themes – Complement your forms with beautiful designs WPZOOM Official Site – See our complete WordPress product lineup Join us on GitHub – Contribute to open-source development Plugin Documentation – Step-by-step guides and tutorials