1

node-wp-cliを使用して、Node.js から WP-cli コマンドを実行しています。組み込みの WP-cli コマンドはすべて完全に機能しますが、カスタム WP-cli コマンドを実行しようとしてスタックしました。

カスタム WP-Cli コマンドwp MyRegisteredCommand SubCommandを node-wp-cli から実行する方法はありますか? お気に入り:

WP.MyRegisteredCommand.SubCommand(function(err,res){ //get response
    console.log(res);
});
4

1 に答える 1

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){
    
于 2016-08-17T13:23:30.180 に答える