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を利用する上で必須のスキルといえるでしょう。

WordPress Development Stack Exchange
How can I batch delete all unattached images with WP-CLI or other automated process?
How can I batch delete all unattached images with WP-CLI or other automated process?After using WPML Media, a plugin that creates duplicates of each image for each language, we now have almost 100,000 duplicate images that we're not going to us...
WP-CLIで添付していない画像を一括で消す方法についての質問と回答
WordPress Developer Resources
wp post delete | WP-CLI Command | WordPress Developer ResourcesOPTIONS <id>... One or more IDs of posts to delete. [--force] Skip the trash bin. [--defer-term-counting] Recalculate term…
WP-CLIのwp post delteの説明
よかったらシェアしてね!

この記事を書いた人

Susumu Seinoのアバター Susumu Seino Lead Member

9歳から独学でプログラミングをはじめ、2014年にフリーランスのWebプログラマーとして独立。2019年にデジタルマーケティング事業をおこなう「aniuma OÜ」をエストニアで設立。特定の住居を持たないデジタルノマドとして、リモートワークで世界中を働きながら旅をする。

コメント

コメントする

目次
閉じる