Automattic\WooCommerce\Blueprint

Cli{}WC 1.0

Class Cli.

This class is included and execute from WC_CLI(class-wc-cli.php) to register WP CLI commands.

No Hooks.

Usage

$Cli = new Cli();
// use class methods

Methods

  1. public static register_commands()

Cli{} code WC 9.9.5

class Cli {
	/**
	 * Register WP CLI commands.
	 *
	 * @return void
	 */
	public static function register_commands() {
		\WP_CLI::add_command(
			'wc blueprint import',
			function ( $args, $assoc_args ) {
				$import = new ImportCli( $args[0] );
				$import->run( $assoc_args );
			},
			array(
				'synopsis' => array(
					array(
						'type'     => 'positional',
						'name'     => 'schema-path',
						'optional' => false,
					),
					array(
						'type'     => 'assoc',
						'name'     => 'show-messages',
						'optional' => true,
						'options'  => array( 'all', 'error', 'info', 'debug' ),
					),
				),
				'when'     => 'after_wp_load',
			)
		);

		\WP_CLI::add_command(
			'wc blueprint export',
			function ( $args, $assoc_args ) {
				$export = new ExportCli( $args[0] );
				$steps  = array();

				if ( isset( $assoc_args['steps'] ) ) {
					$steps = array_map(
						function ( $step ) {
							return trim( $step );
						},
						explode( ',', $assoc_args['steps'] )
					);
				}
				$export->run(
					array(
						'steps'  => $steps,
						'format' => 'json',
					)
				);
			},
			array(
				'synopsis' => array(
					array(
						'type'     => 'positional',
						'name'     => 'save-to',
						'optional' => false,
					),
					array(
						'type'     => 'assoc',
						'name'     => 'steps',
						'optional' => true,
					),
				),
				'when'     => 'after_wp_load',
			)
		);
	}
}