PHPackages                             humanmade/replace-files - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [File &amp; Storage](/categories/file-storage)
4. /
5. humanmade/replace-files

ActiveWordpress-plugin[File &amp; Storage](/categories/file-storage)

humanmade/replace-files
=======================

Plugin which allows you to upload a replacement for an existing attachment.

1.0.0(6y ago)71.9k↑81.3%1[1 issues](https://github.com/humanmade/replace-files/issues)[1 PRs](https://github.com/humanmade/replace-files/pulls)GPL-2.0+PHP

Since Aug 13Pushed 2y ago22 watchersCompare

[ Source](https://github.com/humanmade/replace-files)[ Packagist](https://packagist.org/packages/humanmade/replace-files)[ Docs](https://github.com/humanmade/replace-files)[ RSS](/packages/humanmade-replace-files/feed)WikiDiscussions master Synced today

READMEChangelog (1)DependenciesVersions (2)Used By (0)

Replace Files
=============

[](#replace-files)

This plugin allows you to upload a replacement for an existing attachment.

Cache Busting
-------------

[](#cache-busting)

Replacements use the same filename as the original, allowing existing links to continue working. However, this may require busting the cache to expose the new image. You can use the `replace_files.merge_replacement.replaced` action to handle this:

```
add_action( 'replace_files.merge_replacement.replaced', function ( $post_id ) {
	// Purge the server's cache.
	wp_remote_request( wp_get_attachment_url( $post_id ), [
		'method' => 'PURGE',
	]);
});
```

###  Health Score

32

—

LowBetter than 69% of packages

Maintenance17

Infrequent updates — may be unmaintained

Popularity25

Limited adoption so far

Community17

Small or concentrated contributor base

Maturity59

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 94.9% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

2516d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/77dbeefb7745010589603f2ffc6ff310d8f700b58e08d52af190744c43342526?d=identicon)[roborourke](/maintainers/roborourke)

![](https://www.gravatar.com/avatar/f1d0ffccdc5d339ff98a91e1b224a0d92f93dc8c2f772124473a76655b83129c?d=identicon)[joehoyle](/maintainers/joehoyle)

---

Top Contributors

[![rmccue](https://avatars.githubusercontent.com/u/21655?v=4)](https://github.com/rmccue "rmccue (37 commits)")[![jazzsequence](https://avatars.githubusercontent.com/u/991511?v=4)](https://github.com/jazzsequence "jazzsequence (1 commits)")[![stuartshields](https://avatars.githubusercontent.com/u/15369210?v=4)](https://github.com/stuartshields "stuartshields (1 commits)")

### Embed Badge

![Health badge](/badges/humanmade-replace-files/health.svg)

```
[![Health](https://phpackages.com/badges/humanmade-replace-files/health.svg)](https://phpackages.com/packages/humanmade-replace-files)
```

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
