2026年7月27日
2026年7月27日
WP-CLIでWordPressのプラグインを管理する方法|一覧・追加・更新・削除・復旧のコマンド
WP-CLI は、WordPress をコマンドラインから操作する公式のツールです。wp plugin コマンドを使うと、管理画面を開かずにプラグインの一覧確認、インストール、更新、削除ができます。管理画面に入れなくなったときにプラグインを無効化する手段としても使えます。この記事では、プラグイン管理でよく使うコマンドと、作業の順序、注意点を説明します。オプションは WP-CLI の公式ドキュメント(2026年10月時点)で確認したものだけを載せています。
準備:WP-CLIを使える状態にする
WP-CLI が入っていない場合は、公式の手順で Phar ファイルを入れます。2026年10月時点の公式ハンドブックでは、PHP 7.2.24 以上が必要です。
curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar
php wp-cli.phar --info
chmod +x wp-cli.phar
sudo mv wp-cli.phar /usr/local/bin/wp
wp --info
nightly 版は開発中のビルドなので、本番サーバーでは上の安定版を使ってください。インストールの詳細は WordPressのWP-CLIのインストールと使い方 で説明しています。
実行する場所とユーザー
- WordPress のインストールディレクトリ(
wp-config.phpがある場所)で実行するか、--path=/var/www/htmlのようにパスを指定します。 - WordPress のファイルの所有者と同じユーザーで実行します。root で実行すると、作られたファイルの所有者が root になり、後で管理画面からの更新が失敗する原因になります。WP-CLI は root での実行を既定で拒否し、
--allow-rootを付けないと動きません。
# ファイルの所有者が www-data の場合の例
sudo -u www-data wp plugin list --path=/var/www/html
以降の例では、所有者のユーザーで WordPress のディレクトリにいる前提で wp から書きます。
プラグインの一覧と状態を確認する
# すべてのプラグイン(名前・状態・更新の有無・バージョン・自動更新の設定)
wp plugin list
# 無効なものだけ
wp plugin list --status=inactive
# 更新があるものだけ
wp plugin list --update=available
# 表示する項目を選ぶ
wp plugin list --fields=name,status,version,update_version
--status に指定できる値は active、active-network、dropin、inactive、must-use です。--update=available は、一覧の項目(update)の値で絞り込む書き方です。
ここで表示される name 列が、以降のコマンドで指定するプラグインのスラッグです。表示名ではなく、wp-content/plugins/ の下のディレクトリ名にあたります。1つのプラグインの詳しい状態は次のコマンドで確認できます。
wp plugin status akismet
# 有効なら終了コード0。シェルスクリプトの条件分岐に使える
wp plugin is-active akismet && echo active
インストールと有効化
WordPress.org のプラグインディレクトリにあるものは、スラッグを指定してインストールします。スラッグは、ディレクトリのページの URL(https://wordpress.org/plugins/スラッグ/)で確認できます。
# インストールして同時に有効化
wp plugin install akismet --activate
# バージョンを指定してインストール
wp plugin install akismet --version=5.3
# 手元の zip や URL からインストール(有料プラグインなど)
wp plugin install /home/deploy/my-plugin.zip --activate
有効化と無効化は次のとおりです。マルチサイトでネットワーク全体に対して操作する場合は --network を付けます。
wp plugin activate akismet
wp plugin deactivate akismet
--version=5.3 は書き方の例です。指定できるバージョン番号は、WordPress.org のプラグインページにある「Advanced View」の過去バージョンの一覧で確認してから指定してください。
プラグインを更新する
更新の前に、データベースのバックアップを取ります。ファイルのバックアップは、サーバーやバックアッププラグインの方法で別途取ってください。
wp db export before-plugin-update.sql
次に、何が更新されるかを --dry-run で確認してから実行します。
# 更新対象を表示するだけ(実際には更新しない)
wp plugin update --all --dry-run
# 1つだけ更新
wp plugin update akismet
# すべて更新。特定のプラグインは除外
wp plugin update --all --exclude=woocommerce,elementor
# マイナーリリース(x.Y)やパッチリリース(x.y.Z)の範囲だけ更新
wp plugin update --all --minor
wp plugin update --all --patch
wp plugin update に --force というオプションはありません。更新後に不具合が出た場合は、--version で以前のバージョンを指定して戻せます(WordPress.org で配布されているバージョンに限ります)。
wp plugin update akismet --version=5.3
自動更新の設定
管理画面の「プラグイン」画面にある自動更新の有効・無効も、WP-CLI から切り替えられます。
wp plugin auto-updates status --all
wp plugin auto-updates enable akismet
wp plugin auto-updates disable --all
自動更新の運用は WP CLIでプラグインを自動更新する方法 でも扱っています。
削除とアンインストールの違い
プラグインを消すコマンドは2つあり、動きが異なります。
| コマンド | 動き |
|---|---|
wp plugin delete <スラッグ> |
プラグインのファイルを削除する。無効化やアンインストール処理は行わない |
wp plugin uninstall <スラッグ> |
プラグインのアンインストール処理を実行してからファイルを削除する。有効なプラグインは警告を出して飛ばす(--deactivate を付けると無効化してから実行) |
アンインストール処理は、プラグインが用意していれば、そのプラグインが作った設定やデータベースのテーブルを消す処理です。データを残して入れ直す可能性があるなら delete、データも含めて片付けるなら uninstall を使います。
# 無効化してからファイルだけ削除
wp plugin deactivate akismet
wp plugin delete akismet
# 無効化・アンインストール処理・ファイル削除をまとめて行う
wp plugin uninstall akismet --deactivate
どちらも元に戻すコマンドはありません。uninstall で消えたデータは、事前に取ったデータベースのバックアップから戻すことになります。
不具合のあるプラグインを無効化して復旧する
プラグインの更新後に画面が真っ白になった、管理画面に入れないといった場合は、WP-CLI で原因のプラグインを無効化できます。問題のプラグインが WP-CLI の実行中にも読み込まれてエラーになることがあるため、--skip-plugins と --skip-themes を付けて、プラグインとテーマを読み込まずに実行します。
# 原因が分かっている場合
wp plugin deactivate problem-plugin --skip-plugins --skip-themes
# 原因が分からない場合は、いったん全部無効化し、1つずつ有効化して確かめる
wp plugin list --status=active --field=name --skip-plugins --skip-themes > active-plugins.txt
wp plugin deactivate --all --skip-plugins --skip-themes
全部を無効化する前に、有効だったプラグインの一覧をファイルに保存しておくと、元に戻すときに迷いません。原因を取り除いたあと、保存した一覧からまとめて有効化できます(原因のプラグインは一覧から外しておきます)。
xargs wp plugin activate < active-plugins.txt
プラグインのファイルが改ざんされていないかを確かめる
WordPress.org で配布されているプラグインは、公式のチェックサムと照合できます。
wp plugin verify-checksums --all
WordPress.org で配布されていないプラグイン(有料プラグインや自作のもの)はチェックサムが無いため、照合できません。
複数のサイトをまとめて操作する
マルチサイトでは、サイト一覧を取り出して1サイトずつ実行できます。公式ドキュメントの例と同じ形です。
wp site list --field=url | xargs -I % wp plugin list --url=%
別々の WordPress を複数管理している場合は、--path を変えてループするか、WP-CLI のエイリアス機能を使います。
まとめ
- WordPress のファイルの所有者と同じユーザーで、WordPress のディレクトリから実行する
- 一覧は
wp plugin list。--statusや--update=availableで絞り込む。以降のコマンドにはname列のスラッグを使う - 更新前に
wp db exportでバックアップを取り、--dry-runで対象を確認する。戻すときは--versionを指定する deleteはファイルだけを消し、uninstallはアンインストール処理でデータも消す- 画面が表示されなくなったときは
--skip-plugins --skip-themesを付けて無効化する
関連記事: