Plugin Pulse Beta
← Pulse

Store file uploads for Contact Form 7

by mirceatm · Forms

Also makes 9 other plugins · 2.1K+ installs across the portfolio →

When this is active, attachments sent trough Contact Form 7 shortcode [file ] will be stored in your Media Library

Try it live opens a temporary test site in your browser, which can take about 20 seconds to load. Plugins that rely on outside services or a full server may not work completely there.

⚠ Few reviews

Health

B 83/100

Few reviews

Active installs

1K+

≈1.8K estimated

Momentum

+43%

low volume, under 1,000 downloads a month

Biggest opportunity: Swap “contact”, “file” and “form” for “uploads”, “file uploads” and “store”. “contact” isn't earning its slot: you're not in the first 24 results for its own search. “uploads” sits at #10 untagged, close enough for a declared tag to move it up. “file” isn't earning its slot: you're not in the first 24 results for its own search. “file uploads” sits at #12 untagged, close enough for a declared tag to move it up. “form” isn't earning its slot: you're not in the first 24 results for its own search. “store” sits at #19 untagged, close enough for a declared tag to move it up. All five slots are taken, so one has to go.

How scoring works →
83 Health · B
Maintenance 90/100
Rating quality 83/100
Support 70/100

83 health vs 65 average across 2,517 Forms plugins

Install conversion

How it's measured →

5.8%

of downloads still active

At least 1K of 17.2K lifetime downloads are still running, above its category: the median Forms plugin keeps 1.3%, across 1,675 plugins.

Downloads count every update, not just first installs, so older and more frequently released plugins read lower. Compare against other Forms plugins, not across the directory. wp.org reports active installs as the bottom of a band, so the real rate is this or higher.

This plugin shipped 1 release in the last 12 months, and every existing install that updated counted as another download. wp.org publishes no split between first installs and updates, so we show the raw rate rather than guess at one.

Details

Version
1.3.0
Last updated
6mo ago
Added
2020-02-28 · 6 yrs old
Requires WP
4.9
Tested up to
7.0.8
Requires PHP
—

Directory ranking optimization

How it's scored →

How well this listing is tuned to rank in WordPress.org search, on the factors an owner controls. Not popularity, optimization.

91 / 100

Excellent listing optimization

Most to gain: Rating quality

Update recency 100/100

Updated 165 days ago

WP compatibility 100/100

Tested up to WordPress 7.0.8; the current branch is 7.1

Rating quality 60/100

5.0★ over 7 reviews, weighted for review count to 4.2★ and held back under 25 reviews

Listing tuning 100/100

5 of 5 tags set · short description in place

To rank higher: Too few reviews to rank on quality — nudge happy users to leave one.

Get the full rank-higher report →

Daily downloads

Since 5 Oct 2022 · 1,491 days · wp.org + Plugin Pulse archive

+43% low volume vs prior 30d
363 Nov 2026

30-day downloads

Rolling 30-day volume · peak 1K · peaks are release surges

7583 Nov 2026

Directory rank vs rivals

wp.org popularity rank over time · higher is better · when a rival's line climbs above yours, they've overtaken you

Store file uploads f · #6038youContact Form 7 add c · #732Contact Form Clean a · #2586Confirm Plus Contact · #2524

Health trend

Composite health score, snapshotted daily

833 Nov 2026

Update activity

How busy the existing users are, measured as downloads in the last 30 days for every 1,000 active sites. A spike means a new release everyone's pulling; a long, slow decline means an aging user base that updates less.

7583 Nov 2026

Release cadence

Occasionally updated
from wp.org release tags

How often this plugin actually ships. A steady rhythm is the maintenance signal a single "last updated" date can't show.

1

releases in the last 12 months

6mo ago

latest release · v1.3.0 · 22 May 2026

7

tagged releases on record

Recent releases

1.3.0 · 22 May 20261.2.3 · 7 Jun 20241.2.2 · 19 Mar 20221.2.1 · 2 Dec 20211.2.0 · 21 Oct 20211.1.0 · 16 May 20211.0.0 · 29 Jan 2021

What its installed base runs

via wordpress.org

Share of active installs on each version of this plugin · 45% run the current release. Green is the current release; a big slice on older versions is a user base that has stopped updating.

v1.2 53%
v1.3 45%
Older / other versions 2.2%

Estimated active installs

The public count shows “1K+”. Our estimate pins where the real number sits.

tracked estimate
1K–2K ≈1.8K

Crossed into this band 3.9 years ago; a band this size takes about a year or more to cross, which places it about 80% of the way through.

Install history since 7 May 2021

1K3 Nov 2026

Recent reviews

All reviews on wp.org ↗
  1. ★★★★★ solanum
    7mo ago

    I use this plugin on several websites and never had any problems! It works just great.

    Read on wp.org ↗
  2. ★★★★★ benjamintoth
    3.8y ago

    Works as expected out of the box.

    Read on wp.org ↗
  3. ★★★★★ jakubborek
    4.0y ago

    Solved my issue without problem, works fine from installation

    Read on wp.org ↗
  4. ★★★★★ mrkhanakia
    4.9y ago

    I am getting error while submitting to CF7. Note: I am trying to upload MP3 files <pre>fatal error: Array ( [type] => 1 [message] => Uncaught Error: Call to undefined function wp_read_audio_metadata() in /home/theuxm/html/wp-admin/includes/image.php:489 Stack trace: #0 /home/theuxm/html/wp-content/plugins/store-file-uploads-for-contact-form-7/store-file-uploads-for-contact-form-7.php(39): wp_generate_attachment_metadata() #1 /home/theuxm/html/wp-content/plugins/store-file-uploads-for-contact-form-7/store-file-uploads-for-contact-form-7.php(55): nmr_create_attachment() #2 /home/theuxm/html/wp-includes/class-wp-hook.php(305): nmr_on_before_cf7_send_mail() #3 /home/theuxm/html/wp-includes/class-wp-hook.php(327): WP_Hook->apply_filters() #4 /home/theuxm/html/wp-includes/plugin.php(518): WP_Hook->do_action() #5 /home/theuxm/html/wp-content/plugins/contact-form-7/includes/submission.php(617): do_action_ref_array() #6 /home/theuxm/html/wp-content/plugins/contact-form-7/includes/submission.php(86): WPCF7_Submission->before_send_mail() #7 /home/theuxm/html/wp-content/plugins/contact-form-7/includes/submission.php(27): WPCF7_Submission->proceed() #8 [file] => /home/theuxm/html/wp-admin/includes/image.php [line] => 489 ) </pre> This topic was modified 4 years, 7 months ago by mrkhanakia.

    Read on wp.org ↗
  5. ★★★★★ Inna Klementjeva
    5.3y ago

    It works and that’s it

    Read on wp.org ↗
  6. ★★★★★ alexwbaumann
    5.7y ago

    Thanks! I spent a day wondering why the temporary file was not longer there then another day finding out that CF7 is moving that file. So this is exactly what I was trying to figure out. It does look like files could be overwritten if they are uploaded with an existing name. You can probably do something like the following to ensure files get unique names and are not overwritten. // Get the path to the upload directory. $wp_upload_dir = wp_upload_dir(); $upload_path = $wp_upload_dir['path']; $unique_filename = wp_unique_filename($upload_path, basename($filename)); $attachFileName = $upload_path . '/' . $unique_filename; copy($filename, $attachFileName); // Prepare an array of post data for the attachment. $attachment = array( 'guid' => $attachFileName, 'post_mime_type' => $filetype['type'], 'post_title' => preg_replace('/\.[^.]+$/', '', $unique_filename), 'post_content' => '', 'post_status' => 'inherit' );

    Read on wp.org ↗
  7. ★★★★★ agiannastasio
    6.5y ago

    It works perfect, no config needed.

    Read on wp.org ↗

Languages

via translate.wordpress.org

Translated into 6 languages, 6 at 90% or more

Spanish (Chile) 100%
Spanish (Colombia) 100%
Spanish (Ecuador) 100%
Spanish (Mexico) 100%
Spanish (Spain) 100%
Spanish (Venezuela) 100%

AI assistants

How it's measured →

Whether ChatGPT and Claude name this plugin when asked the category question, and whether the readme gives them something to quote.

This plugin’s searches fall outside the topics measured so far. See the topics measured so far.

Readme readiness

4 of 8 pass · checked 29 Oct 2026

Can an assistant quote this readme? Eight deterministic checks over the wp.org listing, no model involved.

  • ! Says what it does Short description names no action; say what the plugin does for the site.
  • ! Has a FAQ No FAQ section.
  • ! FAQ asks real questions No FAQ to judge.
  • ! Names who it is for Never says who the plugin is for or what they use it for.
  • ✓ Names what it works with Mentions Contact Form 7.
  • ✓ Headings and lists 4 headings and 2 lists.
  • ✓ Enough to quote 4,160 characters of description.
  • ✓ Tags match the text All 5 tags appear in the text.

Growth timeline

Install-tier crossings we have observed, and how long each tier took to outgrow

  1. 2022-11-23 900+ → 1K+ up after 50 days in tier
  2. 2022-10-04 600+ → 900+ up after 198 days in tier
  3. 2022-03-20 300+ → 600+ up

Competes with

The plugins that solve the same job, ranked by shared tags then reach, closest match first. The letter on the right is each plugin's health grade (A best, F worst).

Embed this report card

Drop a live Pulse card for Store file uploads for Contact Form 7 into a readme, a review or a deck. It updates itself.

<iframe src="https://plugins.wpmayor.com/embed/store-file-uploads-for-contact-form-7" width="480" height="300" style="border:0" loading="lazy" title="Store file uploads for Contact Form 7 — Plugin Pulse"></iframe>
Preview card ↗

Store file uploads for Contact Form 7: 1K+ active installs, 5.0★ (7 reviews). Plugin Pulse (WP Mayor), as of 2026-11-03. https://plugins.wpmayor.com/plugin/store-file-uploads-for-contact-form-7

Spotted a number that looks wrong? Report a data issue and we'll check it against the source.