Enable Media Replace


A free, lightweight and easy to use plugin that allows you to seamlessly replace an image or file in your Media Library by uploading a new file in its place. No more deleting, renaming and re-uploading files!
New beta feature! You can now remove the background of your images for better integration with eCommerce solutions!
Supported by the friendly team that created ShortPixel 🙂


WordPress のメディアライブラリにアップロードした画像やファイルを更新したいとき、いちいちファイルを削除して、まったく同じ名前の別のファイルをアップロードするのは面倒だと思いませんか ?

でももう大丈夫 !

Now you can replace any uploaded file in the Edit Media view, where it should be. Replacing Media can be done in two ways:


  1. Simply replace the file. This option requires you to upload a file of the same type as the file you want to replace. The attachment name remains the same regardless of what the file you upload is called.
  2. ファイルを置換し、新しいファイル名を使用し、すべてのリンクを更新します。このオプションをチェックすると、古いファイルは、アップロードするファイルの名前とタイプに置き換えられます。現在のファイルを指すすべてのリンクは、新しいファイル名を指すように更新されます。新しいファイルを置くフォルダーや、新しいファイルの日付に関する追加オプションも、置換画面で利用できます。

このプラグインは非常に強力で、WordPress で構築された主要なサイトには必ず必要なものです。また、置換された画像のプレビューも可能です !

New beta feature: You can now remove the background of any image!

Similar to replacing media, you can also remove the background of the images from the Media Library! The background removal feature sends the images to ShortPixel’s API, removes the background and sends them back in a preview window. If everything looks good, just replace the image with the one that has the background removed! If the source image is a PNG file, you will get a transparent background, while the other images default to a solid white background. You also have the option to choose a different color with an embedded color picker.
The background removal feature is still in beta and will be free of charge for a reasonable usage.

Show file modification time

[file_modified id=XX format=XXXX] ここで、「id」は必須、「format」はオプションで、日付と時間のフォーマットに関する現在の WordPress の設定がデフォルトとなります。

つまり、[file_modified id=870] は、ID が870のファイルがサイトで最後に更新された時刻を表示することになります。ファイルの ID を取得するには、メディアライブラリでファイルを編集する際に URL を確認します (スクリーンショット#4参照)

もし、時刻を表示する形式をより細かく制御したい場合は、format オプションを使用することができます。つまり、[file_modified id=870 format=Y-m-d] はファイルが更新された日付は表示しますが、時刻は表示しません。format 文字列は、the standard PHP date() 書式タグを使用します。

Other plugins by ShortPixel:

Get in touch!

Wishlist / Coming attractions

何か提案はありますか ? お気軽に ShortPixel までご連絡ください。


プラグインの改善を支援したい場合は、GitHub こちら からプルリクエストを送信してください。


  • メディアライブラリの新しいリンク
  • [メディアの編集] ビューに表示されるメディアの置換ボタンです。
  • アップロードオプション
  • 編集ファイルの URL でファイル ID を取得します



  1. フォルダー enable-media-replace をプラグインディレクトリにアップロードします。
  2. WordPress の「プラグイン」メニューからプラグインを有効化してください
  3. 完了しました。


このプラグインは実際に何をしていますか ?

このプラグインを使うと、WordPress メディアライブラリにアップロードされたファイルを簡単に更新/置換することができます。

どのように動作するのですか ?


ファイルを置換しましたが、変更されませんでした !



次に、本当にファイルが変更されていないように見える場合は、WordPress がアップロードフォルダ内のファイルに書き込み権限を持っているかどうかを確認します。WP のインストールを移動したことがある場合 (おそらく新しいサーバーに移動したとき) 、アップロードされたファイルのパーミッションは一般的にリセットされ、WordPress がファイルを変更する権限を持たなくなるようになっています。この方法がわからない場合は、ウェブサーバーのオペレーターに問い合わせてみましょう。


2023年2月27日 3 replies
All the recommended action about cache I have tried. I use WP 6.1.1 and the theme Astra plus Upon further investigation, I found the following errors:It only works if both images have the same dimensions.In my test with different aspect ratios, images with different labels are created. The links with the old names will then no longer work
2023年2月18日 1 reply
Very handy addition to the media library. I advise making a backup before using it, just in case. Up until now, it worked without a hitch.
I wish there is media rename function too. This plugin is able to do much better, it should be easy to rename media files for developers
Used to be good on all sites (single install and multisites) now does not work at all on any WP install type. With newer versions of WP it somehow got left behind. You should find out what's changed in the WP core and adjust your code accordingly. Right now this plugin is completely useless! Deleting and looking elsewhere until fixed.
2022年10月6日 2 replies
I would so love for this plugin to work! I think I'm doing everything right in the upload etc, and when it switches to the image edit page, the correct image is displayed - until I hit Update! Then it reverts to the old image! Got 50 of these to do, so will breathlessly await your reply!


Enable Media Replace はオープンソースソフトウェアです。以下の人々がこのプラグインに貢献しています。


“Enable Media Replace” は31ロケールに翻訳されています。 翻訳者のみなさん、翻訳へのご協力ありがとうございます。

“Enable Media Replace” をあなたの言語に翻訳しましょう。

開発に興味がありますか ?

コードを閲覧するか、SVN リポジトリをチェックするか、開発ログRSS で購読してみてください。



Release date: February 21, 2023
* Fix: background removal notification is no longer displayed when this feature is disabled with the filter;
* Compat: improved compatibility with PHP 8.1 and 8.2
* Tweak: updated the banners on the replace page.


Release date: January 13, 2023
* Fix: patched a security vulnerability that could allow loading an unauthorized file during the replace operation;
* Fix: finish the replace operation even if the tmp file cannot be removed due to file permissions issues;
* Fix: when replacing a scaled file with a non-scaled file, some links were broken;
* Fix: under certain conditions a PHP warning about an undefined array key was displayed.


Release date: November 23, 2022
* Fix: files are now replaced correctly in environments running on Windows/IIC servers;
* Fix: the mime type is now correctly detected, so that a warning is no longer displayed when replacing PDFs;
* Fix: the plugin no longer tries to load its code for post IDs that are not attachments, like comments;
* Fix: some warnings were displayed when using the Members plugin;
* Compat: added integration for SiteOrigin Page Builder to correctly replace files in its widgets;
* Compat: added emr_after_remove_current action hook (thanks @luistar15);
* Tweak: added filter to disable the background replace functionality.


Release date: September 5th, 2022
* New: added the functionality to remove the background for any image;
* Fix: images added to the new block-style widgets were not replaced;
* Fix: the original file was not removed after replacement if a multilingual plugin was installed;
* Fix: additional checks were added to the new upload path for replacements, to avoid possible vulnerabilities, kudos to @soulseekah;
* Fix: an object cache flush was added after an image was replaced to prevent the content from still being cached in the post editor;
* Fix: if there was no _wp_attached_file in the postmeta table a fatal error was thrown;
* Fix: the time zone was not displayed correctly on the Replace Media screen;
* Fix: added some additional checks for file path to avoid open_basedir restrictions;
* Fix: added titles for the Replace Media and Remove Background screens;
* Fix: various small CSS/JS fixes, wording updates and code cleanups;


Release date: November 25th, 2021
* Fix: the shortcode file-modified works again for non-privileged visitors as well;
* Compat: if other plugins don’t properly use WP Hooks, don’t return errors;
* Tweak: updated banners list from the EMR screen.


Release date: November 8th, 2021
* Fix: there was an issue in file.php with checking mime-type, resulting in weird mime-type values in certain cases (thanks @dougaxe1 for the PR);
* Fix: if target mime type returns empty, don’t store that;
* Tweak: removed old notification about SPIO.


Release date: October 27th, 2021
* Fix: there was a broken image in one of the plugin notices;
* Fix: added a check for the function mime_content_type, which doesn’t seem to always be available on various hosts;
* Fix: the plugin checks if the current user has rights to install/activate plugins and only then displays the 1-click installers and also a filter is available now;


Release date: October 11th, 2021
* New: Constant EMR_CAPABILITY can define extra user roles to allow and deny replacements;
* New: Replacing an usual image with an SVG file will just replace all thumbnails by the main file;
* New: Also replaces caption when set in Exif data (when replacing with updating all links);
* Tweak: Added Now and Original options to Custom Date for usability;
* Tweak: changes/updates to the banners from the EMR screen;
* Fix: EMR now respects edit_other_posts permissions using default permissions;
* Fix: EMR with ALLOW_UNFILTERED_UPLOADS enabled (and allowed role) will not limit non-allowed uploads;
* Fix: some missing and wrong text-domains are now corrected (thanks @alexclassroom);
* Fix: a missing dot in the plugin description was preventing the transaltions to properly work;
* Fix: the plugin can now be uninstalled/deleted on PHP 8.


Release date: October 29th 2020
* New: EMR now replaces across all meta tables;
* New: the plugin remembers last used settings;
* New: integration with the LiteSpeed cache plugin and webserver;
* Tweak: manual Logging will no longer work if user is not logged as administrator;
* Tweak: added post_id to enable-media-replace-upload-done action args, props to @Jan Stiegler;
* Fix: fully works now with Elementor;
* Fix: the issue for WP-Bakery and URL-Encoded links is now fixed;
* Fix: the plugin should now work with images added through Visual Composer;
* Fix: EMR now uses queries instead of WordPress functions, correctly handling slashes and JSON formats;
* Fix: -scaled images generated by WordPress are now removed when replacing an image;


Release date: August 17th 2020
* New – Also display files size in the replacement windows;
* Fix – Replacing image with pdf file would cause noticesi;
* Fix – Compensation for faulty WordPress installation that return empty error string on wp_upload_dir and falsely return relative paths and urls on WP core functions;
* Fix – When choosing ‘replace file and update names’ and then uploading a file with identical name as source, it would postfix the duplicate name. This is no longer the case;
* Fix – Wording clarification for the situation when the filename is changed, which will lead to broken links from external sites;
* Fix – Added hard paths to require_once satements in order to prevent WP-CLI errrors;
* Fix – If source image doesn’t exist or in error state, replacement would be prevented by Javascript issue.


Release date: June 18th 2020
* Fix – PHP Error when settings permissions failed.


Release date: June 9th 2020
* New – In edit media screen EMR notes user who replaced file if this was not uploader;
* New – Added Drag and Drop area for files;
* New – When replacing with new file name, now also possible to update upload path;
* Fix – Various minor CSS tweaks and fixes;
* Update of Underlying libraries


Release date: 27th April 2020
* Fixed – When trying to upload over-limit file would show too many error messages;
* Language – 2 new strings added, 0 updated, 0 fuzzied, and 0 obsoleted.


Release date: 10th March 2020
* Fix the crashing of certain frontend builders when the plugin is active.


Release date: 23rd February 2020
* Fix issue with JSON encoding which was interfering with Advanced Custom Fields and other plugins


Release date: 23rd February 2020
* Fix issue with JSON encoded strings
* Language – 0 new strings added, 2 updated, 0 fuzzied, and 0 obsoleted

Release date: 19th February 2020
* Fix issue with search/replacing non-image attachments and query
* Language – 0 new strings added, 2 updated, 0 fuzzied, and 0 obsoleted


Release date: 18th February 2020
* Fixes for WP 5.3+ -scaled images system. Will now replace those as well.
* Updating and replacing images and thumbnails should now work for serialized (and such) metadata.
– For Beaver Builder
* Add extra warning if mimetype is not allowed by WordPress for upload
* Put Javascript version in wp_register_script
* Hidden double ‘replace media’
* Replace Image label to Replace Media
* Removed constant S3_UPLOADS_AUTOENABLE
* Improved detection of SVG image sizes
* Fixed – Logger doesn’t call wp_upload_dir when not debugging
* Extra – Javascript tries to resume after external errors.
* Language – 0 new strings added, 2 updated, 0 fuzzied, and 0 obsoleted


Release date: 13th November 2019
* call the hook enable-media-replace-upload-done on both modes
* fix JSON compatibility for hostings that don’t have JSON module activated
* Language – 0 new strings added, 0 updated, 0 fuzzied, and 0 obsoleted


Release date: 5th September 2019
* fix JSON compatibility for hostings that don’t have JSON module activated


Release date: 25th July 2019
* fix Replace button on the MediaLibrary image details popup


Release date: 23rd July 2019
* compatibility fixes for WP version 4.8 and below
* cache killer


Release date: 19th July 2019
* Fix error “using $this when not in object context” on some PHP versions


Release date: 17th July 2019
* Check if medium size !> 400px, display that one, otherwise smallest.
* Fixed: Links not updated when using Advanced Custom Fields
* Fixed: Fails silently when file is too big for upload
* When source file does not exist, show placeholder instead of failed image load
* Fixed: Fatal error when replacing images
* Fixed: Not the right time zone on replace
* Fixed Beaver Builder incompatibility by not allowing replace with rename.
* Fixed: Cannot replace non default WordPress file types, even those allowed to upload [ Media Library Assistant compat ]
* Fixed: error when trying to remove a file that doesn’t exist – because the files are actually on another server


Release date: 18th June 2019
* Fix error class not found on WPEngine


  • 画像を置換して名前を変更するときに、postmetaのmeta_value でも検索/置換が行われるようになりました。
  • PDF サムネイルも置換します。
  • EXIF からタイトルをコピーする
  • CSS に組み込まれた RTL ビュー
  • ‘wp_handle_upload’ filter should be treated as such (and not as action)
  • GUID の代わりに wp_attached_file を使用する
  • Fix: replace missing file
  • Fix: aphostrophe breaking the upload
  • Fix: broken “before” image
  • Fix: update properly the date
  • Fix: errors for non-image items in Media Library
  • Fix: empty admin menu item created
  • すべてのコードをリファクタリング


  • properly replace thumbnails names in the content when the replaced image has a different aspect ratio, thus the new thumbnails have a different height in the name.


  • fix for failures in link updating when replacing file because of addslashes – use prepared query instead
  • replace basename with wp_basename because basename doesn’t work well with UTF8


  • Add minimum required php version to run the plugin.
  • Security: Prevent direct access to php files.
  • Security: Prevent direct access to directories.
  • Security: Escape translation strings using esc_attr__() and esc_html__() functions.
  • Fix RTL issues.


  • 画像を置換しようとしたときに画像が選択されていなくても 404 エラーは発生しません
  • added preview so you can check the image being replaced and also the image that’s being replaced with
  • .datファイルは置換することができます (以前のバージョンでは機能が誤って削除されていました)
  • added compatibility with S3 upload plugin
  • 画像が置換されると、日付も更新されます


  • remove the leftover setcookie and the plugins recommendations.


  • Fix PDF thumbnails not replaced when replacing a PDF
  • Fix not replacing text files with .dat extension


  • disable ShortPixel recommendation on secondary sites of a multisite install when it was network activated.


  • Fixed compatibility with ShortPixel and Resize Image After Upload
  • Added ShortPixel links and images, fixed the problem of ShortPixel recommendation not dismissing.


  • Bugfix, typo made metadata changes (thanks GitHub user icecandy!)
  • Removed Shortpixel links and images


  • WP 4.9.4 でテスト済み
  • Added Shortpixel link in replace media screen


  • Fixed bug introduced in an earlier version, preventing the updating of URLs on pages/posts if the link did not contain the domain name


  • Got rid of some pesky old code, and added some better filtering options, thanks to GitHub users speerface, aaemnnosttv, and ururk
  • Brand new, shiny code to replace other image sizes in embedded media, thanks to GitHub user ianmjones!
  • WP 4.8 でテスト済み


  • WP 4.7.2 でテスト済み
  • 新しいPT翻訳 (Pedro Mendoncaに感謝します https://github.com/mansj/enable-media-replace/commit/b6e63b9a8a3ae46b3a6664bd5bbf19b2beaf9d3f)


  • WP 4.6.1 でテスト済み


  • .pt 翻訳のタイプミスを修正しました (https://github.com/mansj/enable-media-replace/pull/18)
  • 変更日関数のエラー処理の改善を修正しました (https://github.com/mansj/enable-media-replace/pull/16)
  • WP 4.4.1 でテスト済み


  • メディア画面を検出する古い方法を廃止し、メディアを置換するボタンがより多くの場所に表示されるようになりました。
  • 複数のユーザーの希望に応じて、get_attached_file() の呼び出しでフィルターがスキップされないようにしました。
  • chmod() でのエラーメッセージを抑制。
  • 日本語訳を追加しました (感謝します chacomv)


  • 言語ファイルをクリーンアップしました。
  • ポルトガル語の翻訳を追加しました (pedro-mendoncaに感謝します)
  • WP 4.1 でテスト済み
  • 不足しているスウェーデン語の翻訳文字列を追加しました


  • Tiny fix to re-insert the EMR link in the media list view.


  • WordPress 4.0 に対応
  • Now inheriting permissions of the replaced files, Thank you Fiwad



  • Added fix by Grant K Norwood to address a possible security problem in SQL statements. Thanks Grant!
  • Created GitHub repo for this plugin, please feel free to contribute at github.com/mansj/enable-media-replace


  • Bug fix for the short code displaying the modification date of a file
  • WP 3.9 に備えて、すべてのデータベースクエリーを更新しました


  • WordPress のタイムゾーン変更のバグ修正
  • Minor UI change to inform the user about what actually happens when replacing an image and using a new file name


  • Added call to update_attached_file() which should purge changed files for various CDN and cache plugs. Thanks Dylan Barlett for the suggestion! (https://wordpress.org/support/topic/compatibility-with-w3-total-cache)
  • 2.9.2 で追加された新しいフックで発生する可能性のあるエラーが抑制されました


  • 小さなバグ修正
  • 開発者がファイルを更新するときに可能なCDNをパージできるようにするためのフックを追加しました-提案に感謝します !


  • ブラジルポルトガル語の翻訳を追加しました。Roger Nobrega に感謝します。
  • コードを提供してくれた Jonas Lundman のおかげで、ファイル名を作成するためのフィルターフックが追加されました。
  • コードを提供してくれた Jonas Lundman のおかげで、添付ファイルの編集画面に変更日が追加されました。
  • Enhanced the deletion method for old file/image thumbnails to never give unnecessary error messages and more accurately delete orphaned thumbs


  • ポルトガル語の翻訳を追加しました。Bruno Miguel Bras Silvaに感謝します。
  • メディアライブラリからの新しい編集リンク
  • アップロード後、プラグインはライブラリではなく編集画面に戻るようになりました


  • Made another change to the discovery of media context which will hopefully fix a bug in certain cases. Thanks to “Joolee” at the WordPress.org forums!
  • Added a new, supposedly better Russian translation from “Vlad”.


  • Fixed a small bug which could create error messages on some systems when deleting old image files.


  • 新しい画像ファイルがアップロードされたときにサムネイルを削除するための新しい安全な方法。
  • 簡体字中国語 (Tunghsiao Liuに感謝) とイタリア語 (grazie Marco Chiesi) の新しい翻訳
  • Added method for detecting upload screen to ensure backward compatibility with versions pre 3.5


  • A couple of changes made to ensure compatibility with WordPress 3.5. Thanks to Elizabeth Powell for the fixes!


  • New and improved validation of uploaded files, now using WP’s own functions for checking file type and extension. Thanks again to my old friend Ulf “Årsta” Härnhammar for keeping us all on our toes! 🙂 This should also hopefully fix the problems people have been having with their installations claiming that perfectly good PDF files are not allowed file types.


  • The “more reliable way” of determining MIME types turned out to be less reliable. Go figure. There seems to be no perfect way of performing a reliable check for MIME-types on an uploaded file that is also truly portable. I have now made checks for the availability of mime_content_type() before using it, using the old method as a fall-back. It is far from beautiful, so if anybody has a better way of doing it, please contact me!


  • Bug fix – there is now a more reliable way of determining file type on your upload so you can upload PDF files without seeing that pesky “File type does not meet security guidelines” message.
  • デンマーク語への新しい翻訳 – Michael Bering Petersen に感謝します


  • WordPress 3.2.1 でテスト済み。
  • ドイツ語への新しい翻訳 – MartinLettnerに感謝します!
  • フランス語への新しい翻訳 – François Colletteに感謝します


  • Bug fix for WordPress 3.1 RC. Now properly tested and should be working with 3.1 whenever it finally comes out. 🙂


  • Bug fixes, security fixes. Thanks to my old pal Ulf “Årsta” Härnhammar for pointing them out!
  • アップロードの新しい方法は、セキュリティを強化するために、WPを回避します。


  • Ben ter Stal のおかげで、多くのコードがトリミングおよび強化されました。 Windows システムで適切に動作するようになり、セキュリティが向上し、読み込みが最適化されました。
  • Ben terStal によるオランダ語の翻訳を追加しました。


  • Bug fix, fixed typo in popup.php, thanks to Bill Dennen and others for pointing this out!


  • 新しいショートコード – サイトにファイルの変更日を表示します(詳細については説明を参照してください)
  • A couple of bug fixes for final release of 3.0 – Thanks to Jim Isaacs for pointing them out!


  • SSL アドミンのサポートが追加されました


  • メディアを置換するときのポップアップをインラインナビゲーションに置き換えました
  • メディアの下のアドミンリンクに手順を追加しました


  • WordPress 3.0.2でテスト済み


  • ショートタグを削除して互換性を高めました。


  • Added support for wp_config setting “FORCE_SSL_ADMIN”


  • Fat Cower のおかげで、ロシア語の翻訳が追加されました。


  • マイナーなバグ修正、IE8 でも動作するようになりました


  • プラグインの最初の安定バージョン。