WP-CLIを使って未使用の画像を一括削除する
WordPressは自動的にさまざまなサイズの画像を生成します。そのためwp-content/uploadsのディレクトリには膨大な画像ファイルが存在することになりますが、その中でも実際には使っていない画像も多数存在します。
今回はWordPressにはアップロードしているけど使っていない画像を一括で削除する方法について解説します。
未使用画像を一括削除する前提条件
- WP-CLIを利用している
- ターミナル (シェルコマンド) が使える
- uploadsのバックアップがある
未使用画像を一括削除する
未使用画像の一覧を取得する
まずは未使用画像の一覧を取得しましょう。WP-CLIが実行できるディレクトリで下記のコマンドを実行します。
wp post list --post_type='attachment' --format=ids --post_parent=0 --post_mime_type='image/jpeg'
上記の wp post list コマンドでは該当するWordPressのポスト一覧を出力してくれます。attachment (メディア) であること、形式が画像であること、添付 (利用) されていること、ポストのIDを出力することというオプションが付与されています。

ポストIDから一括で画像を削除する
このように未使用の画像のポストIDが出力されるので、その値をコピーし削除コマンドを実行します。0001などとなっている値は上記で取得した未使用画像のポストIDと差し替えてください。
wp post delete 0001 0002 0003 0004

また後述のエラーが表示されている場合は –force オプションを付与しましょう。attachmentはゴミ箱への送信をサポートしていないたゴミ箱にはいれず–forceフラグをたててそのまま削除します。
Posts of type 'attachment' do not support being sent to trash. Please use the --force flag to skip trash and delete them permanently.
まとめ
WP-CLIを使うと管理画面から1つ1つ画像を削除しんくても画像を削除することができます。また投稿の中で利用されていない画像でもウィジェットなどで利用されていることもあるため注意が必要です。
その他にもWP-CLIを使うと管理画面を使わずに効率よく一括作業をおこなうことができるのでWordPressを利用する上で必須のスキルといえるでしょう。