Run a WP-CLI command.
WP_CLI::runcommand( $command, $options = [] )
$command (string) WP-CLI command to run, including arguments.
$options (array) {
Configuration options for command execution.
@type bool $launch Launches a new process (true) or reuses the existing process (false). Default: true.
@type bool $exit_error Halts the script on error. Default: true.
@type bool|string $return Returns output as an object when set to 'all' (string), return just the 'stdout', 'stderr', or 'return_code' (string) of command, or print directly to stdout/stderr (false). Default: false.
@type bool|string $parse Parse returned output as 'json' (string); otherwise, output is unchanged (false). Default: false.
@param array $command_args Contains additional command line arguments for the command. Each element represents a single argument. Default: empty array.
}
@return (mixed)
$options (array) {
Configuration options for command execution.
@type bool $launch Launches a new process (true) or reuses the existing process (false). Default: true.
@type bool $exit_error Halts the script on error. Default: true.
@type bool|string $return Returns output as an object when set to 'all' (string), return just the 'stdout', 'stderr', or 'return_code' (string) of command, or print directly to stdout/stderr (false). Default: false.
@type bool|string $parse Parse returned output as 'json' (string); otherwise, output is unchanged (false). Default: false.
@param array $command_args Contains additional command line arguments for the command. Each element represents a single argument. Default: empty array.
}
@return (mixed)
Launches a new child process to run a specified WP-CLI command. Optionally:
- Run the command in an existing process.
- Prevent halting script execution on error.
- Capture and return STDOUT, or full details about command execution.
- Parse JSON output if the command rendered it.
- Include additional arguments that are passed to the command.
$options = array(
'return' => true, // Return 'STDOUT'; use 'all' for full object.
'parse' => 'json', // Parse captured STDOUT to JSON array.
'launch' => false, // Reuse the current process.
'exit_error' => true, // Halt script execution on error.
'command_args' => [ '--skip-themes' ], // Additional arguments to be passed to the $command.
);
$plugins = WP_CLI::runcommand( 'plugin list --format=json', $options );
Internal API documentation is generated from the WP-CLI codebase on every release. To suggest improvements, please submit a pull request.
- WP_CLI::launch() - Launch an arbitrary external process that takes over I/O.
- WP_CLI::launch_self() - Run a WP-CLI command in a new process reusing the current runtime arguments.
- WP_CLI::run_command() - Run a given command within the current process using the same global parameters.