我正在使用node-wp-cli从Node.js运行WP-cli命令。所有内置的WP-cli命令都可以正常工作,但在尝试运行我的自定义WP-cli命令时卡住了。
有没有办法从node-wp-cli运行自定义WP-Cli命令wp MyRegisteredCommand SubCommand
?像:
WP.MyRegisteredCommand.SubCommand(function(err,res){ //get response
console.log(res);
});
答案 0 :(得分:0)
这相对容易,但需要一些调整......
节点wp-cli使用wp cli cmd-dump
来识别可用命令,但此命令在加载WordPress之前运行,因此它只能识别内置命令。
简短的调整:
WP.js
,第schema(function(err,schema){...
行。您需要知道schema
的结构,所以只需运行一些内置命令并在此处设置断点。按照上面的架构结构实现命令的架构。它看起来像这样:
my_commands.js
:
var schema = {
mycmd: {
mysubcmd: {
args: [ {
arg: 'arg1',
required: true,
type: 'args'
} ],
endpoint: true,
options: {
opt1: {
required: true,
type: 'param'
},
flag1: {
required: false,
type: 'flag'
},
}
},
use: 'wp mycmd mysubcmd'
}
}
module.exports.schema = schema;
修改WP.js
:
var mySchema = require('my_commands.js').schema;
...
schema(function(err,schema){
schema = _.merge(schema, mySchema); // this line added
var toMerge = function mapSchema(schema){