WP-CLI The command line interface for WordPress

WP-CLIWordPress を管理するためのコマンドラインインターフェースです。 プラグインのアップデートやマルチサイトのセットアップなど、多くのことをブラウザなしで実行できます。

下記のサポーターの協力で継続的なメンテナンスが行われています。

Automattic Bluehost Pantheon SiteGround WP Engine Cloudways

現在の安定バージョンは 2.10.0 です。 最新情報を得たい人は、@wpcli on Twitter をフォローするか、メーリングリストにサインアップしてください。ロードマップで今後のリリース予定を知ることができます。

Testing Average time to resolve an issue Percentage of issues still open

Quick links: 使い方 | インストール方法 | サポート | 拡張 | 貢献 | クレジット

使い方

WP-CLI は、みなさんが WordPress の管理画面でやりたいと思っていることに対するコマンドラインインターフェースを提供します。 たとえば、wp plugin install --activate (ドキュメント) というコマンドを実行すると、プラグインをインストールした上で有効化できます。

$ wp plugin install user-switching --activate
Installing User Switching (1.0.9)
Downloading install package from https://downloads.wordpress.org/plugin/user-switching.1.0.9.zip...
Unpacking the package...
Installing the plugin...
Plugin installed successfully.
Activating 'user-switching'...
Plugin 'user-switching' activated.
Success: Installed 1 of 1 plugins.

さらに WP-CLI では、WordPress の管理画面ではできない多くのことを行えます。たとえば、wp transient delete --all (ドキュメント) というコマンドを実行すると、一時的に保存されているすべてのデータが削除されます。

$ wp transient delete --all
Success: 34 transients deleted from the database.

WP-CLI の使い方について詳しく知りたいときは、クイックスタートガイドを読んでください。Shell friends では便利なコマンドラインユーティリティについても学べます。

基本的なことをすでに理解しているなら、コマンドリストにジャンプして、テーマやプラグインの管理、データのインポートやエクスポート、データベースの検索・置換操作などの詳細を見てください。

インストール方法

Phar ファイルのダウンロードによるインストールを推奨します。必要に応じて上級者向けインストール方法 (Composer, Homebrew, Docker) も参照してください。

WP-CLI をインストールする前に、動作環境を確認します。

動作条件を再度確認し、wget または curlwp-cli.phar をダウンロードします。

curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar

次に、Phar ファイルが動作していることを確認します。

php wp-cli.phar --info

WP-CLI を wp コマンドで実行するには、wp-cli.phar が実行可能で、かつ、環境変数 PATH に登録された場所に置かれていることが必要です。例を示します。

chmod +x wp-cli.phar
sudo mv wp-cli.phar /usr/local/bin/wp

WP-CLI のインストールが成功していれば、wp --info コマンドで以下のように出力されるはずです。

$ wp --info
OS:     Linux 5.10.60.1-microsoft-standard-WSL2 #1 SMP Wed Aug 25 23:20:18 UTC 2021 x86_64
Shell:  /usr/bin/zsh
PHP binary:     /usr/bin/php8.1
PHP version:    8.1.0
php.ini used:   /etc/php/8.1/cli/php.ini
MySQL binary:   /usr/bin/mysql
MySQL version:  mysql  Ver 8.0.27-0ubuntu0.20.04.1 for Linux on x86_64 ((Ubuntu))
SQL modes:
WP-CLI root dir:        /home/wp-cli/
WP-CLI vendor dir:      /home/wp-cli/vendor
WP_CLI phar path:
WP-CLI packages dir:    /home/wp-cli/.wp-cli/packages/
WP-CLI global config:
WP-CLI project config:  /home/wp-cli/wp-cli.yml
WP-CLI version: 2.10.0

アップデート

WP-CLI は、wp cli update (ドキュメント) コマンド、または上述のインストール方法を再度行うことでアップデートできます。

ただし、WP-CLI のオーナーが root または他のシステム管理者の場合は、sudo wp cli update と実行する必要があります。

チャレンジ精神旺盛な人は wp cli update --nightly を実行してみましょう。最新の開発者向けバージョンの WP-CLI を使うことができます。開発者向けバージョンは、あなたの開発環境で使用する上で十分な信頼性があり、常に最新の機能を含んでいます。

タブ補完

WP-CLI には、Bash および zsh 向けのタブ補完スクリプトがあります。スクリプトを使うときは wp-completion.bash をダウンロードして、~/.bash_profile で読み込みます。

source /FULL/PATH/TO/wp-completion.bash

source ~/.bash_profile を実行するのをお忘れなく。

zsh の場合は、bashcompinit をロードした後に wp-completion.bash を読み込ませる必要があるかもしれません。.zshrc に次のコードを追加してください。

autoload bashcompinit
bashcompinit
source /FULL/PATH/TO/wp-completion.bash

サポート

WP-CLI のメンテナーとその貢献者が一般的な質問に答えられる時間は限られています。最新版のみが公式にサポートされるバージョンです。

サポートを受けたいときは、まず、以下のリソースの中から答えを探してみましょう。

上記いずれかの方法で回答を見つけられなかった場合は:

GitHub Issues は、既存のコマンドの改良やバグを追跡するために使われており、一般的なサポートのためには使われていません。バグレポートを投稿する際には、ベストプラクティスを確認して、あなたの抱える問題が適時確実に伝わるように心がけてください。

Twitter でサポート用の質問を尋ねるのはご遠慮ください。Twitter は、1) 文字数が 280 文字以下に制限され会話を行うのが難しい、2) 過去の会話から他の人の同じ質問を検索することが難しい、などの理由によりサポートを行う場としてふさわしくないからです。

自由は無料とは違います。オープンソースライセンスはあなたが自由に使ったり編集したりする権利を保証しますが、他の誰かの時間を浪費することを保証しているわけではありません。サポートを受けるに当たっては、敬意を持ち、過度な期待をしないように心がけてください。

拡張

それぞれの コマンド は、WP-CLI の関数の一つとして定義されています。wp plugin install (ドキュメント) はその一つで、wp plugin activate (ドキュメント) もまた、その一つです。

WP-CLI では、さまざまな実行可能なクラス、関数、クロージャをコマンドとして実行できます。コマンドの実行に必要な情報は PHPDoc で記述します。 WP_CLI::add_command() (ドキュメント) は、内部コマンドおよびサードパーティコマンドの登録に使われています。

/**
 * Delete an option from the database.
 *
 * Returns an error if the option didn't exist.
 *
 * ## OPTIONS
 *
 * <key>
 * : Key for the option.
 *
 * ## EXAMPLES
 *
 *     $ wp option delete my_option
 *     Success: Deleted 'my_option' option.
 */
$delete_option_cmd = function( $args ) {
	list( $key ) = $args;

	if ( ! delete_option( $key ) ) {
		WP_CLI::error( "Could not delete '$key' option. Does it exist?" );
	} else {
		WP_CLI::success( "Deleted '$key' option." );
	}
};
WP_CLI::add_command( 'option delete', $delete_option_cmd );

WP-CLI は多くのコマンドで構成され、意外と簡単にカスタムコマンドを作ることができます。詳しくは commands cookbook を参照してください。内部 API のドキュメントには、カスタムコマンドで使用できるさまざまな便利機能が載っています。

貢献

ようこそ ! ありがとう !

私たちは、みなさんが率先して貢献してくださることに感謝します。あなたやあなたのまわりのコミュニティによって、WP-CLI はすばらしいプロジェクトになります。

貢献はコードを書くことだけに留まりません。 私たちは、チュートリアルを書いたり、地元のミートアップでデモを行ったり、ユーザーの質問に回答したり、ドキュメントを改訂したりと、あなたの能力に合った方法で貢献していただきたいと思っています。

ハンドブックに掲載されている貢献者向けガイドラインを読めば、どのように貢献できるかを詳しく知ることができます。ガイドラインに従うことで、本プロジェクトの他の貢献者たちとのコミュニケーションが円滑になります。彼らは、世界をまたがってあなたと一緒に働くことに、最大限の敬意を払う努力をします。

プロジェクトリーダー

WP-CLI にはプロジェクトメンテナーがいます: schlessera です。

能力があり、プロジェクト発展のため時間をかけていることを示してくれた貢献者にはコミット権限を与えることがあります

プロジェクト運営についての詳細を知りたいときは、ハンドブック内のガバナンスを読んでください。

クレジット

composer.json に記載されているライブラリに依存しており、以下のプロジェクトからコードやアイディアを得ています。