wp-cliの既存のコマンドにオレオレサブコマンドを追加する

別件でソースを眺めていたら以前からやりたいと思ってたことをやってるとこを見つけたのでメモ。

やりたかったのは、たとえば既存のwp importというコマンドにwp import csvみたいなのを追加したいなーということ。

WP_CLI::add_command( 'core language', 'Core_Language_Command', array(...) );

https://github.com/wp-cli/wp-cli/blob/master/php/commands/core.php#L1073

 

さっそく試してみた。

WP_CLI::add_command(  'import csv', 'CSV_Importer' );

実行。

$ wp help
PHP Fatal error:  Uncaught exception 'Exception' with message ''wp import' can't have subcommands.' in /usr/local/Cellar/wp-cli/0.20.1/php/class-wp-cli.php:205

だめじゃん。。。

どうやらwp importはもともとimport以下のサブコマンドを持っていないから既存のコマンドの引数とこんがらがるからじゃないかと推測。

このへんどうやって制御してるのかは知らないけど、なるほどよくできてると思った。

 

普通にコマンドを追加する方法は以下のページでどうぞ。

WP-CLIのパッケージコマンドを自作

 

おわり。