WP-CLI The command line interface for WordPress

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

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

Automattic Bluehost Pantheon SiteGround WP Engine Cloudways

現在の安定バージョンは 2.6.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 または curl を使用して wp-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.6.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 に記載されているライブラリに依存しており、以下のプロジェクトからコードやアイディアを得ています。