'\WPaaS\CLI\Cache', ]; foreach ( $commands as $command => $class ) { unset( $commands[ $command ] ); $commands[ Plugin::cli_command( $command, [], false ) ] = $class; if ( 'wpaas' !== Plugin::cli_base_command() ) { $commands[ "wpaas {$command}" ] = $class; } } // Custom subcommand for a default command $commands['cron event wpaas'] = '\WPaaS\CLI\Cron_Event'; /** * Filter the default custom WP-CLI commands. * * @since 2.0.0 * * @var array */ $commands = (array) apply_filters( 'wpaas_cli_commands', $commands ); $this->register( $commands ); } /** * Register custom WP-CLI commands. * * @param array $commands * * @return array|bool */ private function register( array $commands ) { if ( ! $commands || ! is_array( $commands ) ) { return false; } $registered = []; foreach ( $commands as $command => $class ) { if ( ! class_exists( $class ) ) { continue; } WP_CLI::add_command( $command, $class ); $registered[ $command ] = $class; } return ( $registered ) ? $registered : false; } }