MENU
恋と生き方のエッセー、子育てコラムは移転しましたsanmarie*com

未添付の画像ファイルを安全かつ効率的に再添付&削除する『Associate Attachment』

目次

未添付の画像ファイルを投稿に再添付したい

WordPressも長年、使い込んでいると、未使用の画像ファイルがどんどん貯まっていきます。

投稿を削除しても、投稿内やアイキャッチに利用した添付ファイルはそのまま wp-contents フォルダに残るからです。

10枚程度なら、大して容量を圧迫しませんが、100枚以上に及ぶと、管理も大変ですし、バックアップの負荷も増大します。

WordPressの標準機能として、メディア → 『未添付』を表示 というフィルタリングが存在し、各画像ファイルについて『投稿に添付』という機能も備わっているのですが、投稿数が多いと、検索にものすごく時間がかかって、到底、一日では処理しきれません。

また、投稿のインポート&エクスポートや、投稿の複製、サーバーの引越など、何らかの理由で、画像ファイルと投稿IDとの紐付けが切れてしまい、投稿内で使用されているにもかかわらず、メディアライブラリでは「未添付」の扱いになっている画像をうっかり削除してしまうと、画像のリンク切れが生じて、その為の検証と再アップロードも大変な手間です。

未添付ファイルをフィルタリング

そこでおすすめしたいのが、未添付の画像ファイルが使われている投稿をデータベースから探し出し、自動的に紐付け(再添付)してくれるプラグイン『Associate Attachment 』です。

Xakuro
Associate Attachment プラグイン
Associate Attachment プラグインメディアライブラリの画像を投稿と関連付けるプラグインです。

こちらのプラグインは、配布元の『XAKURO』の石鷹さん曰く、WordPress公式には登録していないとのことですが、2017年リリースでも、WordPressの最新版(5.3系)でも問題なく動作しますので、大量の未添付ファイルと投稿の紐付けにお悩みの方は、ぜひ活用して下さい。

XAKUROさんのプラグイン解説ページにも説明がありますが、配布元よりzipファイルをダウンロードし、普通にインストールして、『ツール』 → 『画像関連づけツール』を選択、『関連づけ』をクリックするだけです。

私も、あまりの簡素さに、半信半疑だったのですが、250枚以上の未添付ファイルを5分とかからず、一括処理(画像を使用している投稿IDへの再添付)することができて、本当に救いの神になりました。未添付のファイルを一つ一つ手動で検索→再添付してたら、一週間以上かかります^^;

関連づけを開始

進捗の状況がプログレスバーで表示されます。
当サイトは4000枚以上のメディアファイルが存在しますが、びっくりするほどスムーズかつ高速に完了しました。

未添付の画像ファイルの再添付作業中

配布元の注意書きにもあるように、プラグインやテーマ・カスタマイズで使われている画像ファイルを再添付することはできません。
(画像スライダーやプロフィール画像など)
再添付の後に、未使用の画像ファイルを一括削除する場合は、お気をつけ下さい。

『XAKURO』の石鷹さん、本当にありがとうございました(*^_^*)

未添付ファイルを安全に削除したい

画像ファイルの再添付の作業が終わったら、もう一度、メディアライブラリで『未添付』のファイルをフィルタリングし、プラグインやテーマ・カスタマイザーで使われていない画像を確認した後、本当に何所にも使われていない「未使用」の画像ファイルを一括削除します。

それでも、使用・未使用の見分けに自信のない方は、データベース検索を使って、投稿内の記述の有無を確認しましょう。

データベース検索もいろんなツールがありますが、私のおすすめは、interconnectit から配布されている、独立したデータベース検索&置換ツールです。

ダウンロードには、利用規約の確認と、メルアド、氏名の送信が必要ですが、非常に高機能、かつ安全に使えるので、その価値はあります。

WordPressにもデータベース検索のプラグインは存在しますが、WordPressの管理画面内で動作するのと、完全に独立したディレクトリで作業するのでは、安全性も異なるし、何より、ユーザーインターフェイスが分かりやすいんですね。カラフルで、大文字で。

interconnect/it
Database Search and Replace Script in PHP | interconnect/it
Database Search and Replace Script in PHP | interconnect/itSearch Replace DB is a powerful tool for developers, allowing them to run a search replace against their database where CLI tools or WP plugins can’t work.

FTPを使って、任意のディレクトリにプログラムファイルをアップロードしたら、ディレクトリに直接アクセスして、検索したいWordPressのデータベース情報を記入、TEST CONNECTIONで接続を確立します。

データベース情報を記入

検索したい語句、たとえば、「○○.jpg」をreplaceに記入して、with は空白でもOK。

検索したい語句を記入

検索場所は all tables か select tables かを選択して、Do a safe run(安全なお試し検索)を実行するだけです。

検索結果が『The dry-run option was selected. No replacements will be made.』

つまり、お試し検索で該当する箇所はない = 選択したデータテーブル内に該当のファイル名の記述は存在しない、ということですから、このUmigameファイルは削除してOKです。

投稿のデータに未使用

これが一番手っ取り早いと思うので、興味のある方は試してみて下さい

目次
閉じる