我在玩弄编写自定义wp cli命令。我成功地创建了一个简单的命令,wp-cli theme save
它运行脚本来备份站点的主题文件:
<?php
class Save_Command extends WP_CLI_Command {
/**
* Create a tarball of current active theme and save it to wp_themes directory in the user\'s config directory.
*
* @synopsis
*/
public function __invoke($args = array(), $assoc_args = array())
{
exec ( \'wpst\' );
}
}
WP_CLI::add_command( \'theme save\', \'Save_Command\' );
此代码存在于
~/.wp-cli/commands/custom/save/theme-save.php
和工作。
现在,我想用一个新命令扩展此功能:
wp theme save colors <scheme_name>
此功能将自定义颜色输出到文件。我使用以下代码尝试使其正常工作:
<?php
class Save_Theme_Colors_Command extends WP_CLI_Command {
/**
* Save color scheme.
*
* @synopsis <name of color scheme>
*/
public function __invoke($args = array(), $assoc_args = array())
{
exec ( "go save_theme_colors " . implode(" ", $args));
}
}
WP_CLI::add_command( \'theme save colors\', \'Save_Theme_Colors_Command\' );
但是,当我尝试执行该命令时,出现了一个错误:
Warning: Failed to load autoloader \'phar://wp-cli.phar/vendor/autoload.php\'. Reason: \'wp theme save\' can\'t have subcommands.
我尝试了各种方法让子命令工作,包括使用@subcommand指令,但这似乎被忽略了。