Automattic\WooCommerce\Internal\CLI\Migrator\Commands
ProductsCommand::handle_count_request
Handle the count request.
Method of the class: ProductsCommand{}
No Hooks.
Returns
null. Nothing (null).
Usage
// private - for code of main (parent) class only $result = $this->handle_count_request( $platform, $platform_display_name, $assoc_args ): void;
- $platform(string) (required)
- The platform name.
- $platform_display_name(string) (required)
- The platform display name.
- $assoc_args(array) (required)
- The associative arguments.
ProductsCommand::handle_count_request() ProductsCommand::handle count request code WC 10.7.0
private function handle_count_request( string $platform, string $platform_display_name, array $assoc_args ): void {
WP_CLI::log( "Fetching product count from {$platform_display_name}..." );
$fetcher = $this->platform_registry->get_fetcher( $platform );
if ( ! $fetcher ) {
WP_CLI::error( "Could not get fetcher for platform '{$platform_display_name}'" );
return;
}
// Build filter arguments.
$filter_args = array();
if ( isset( $assoc_args['status'] ) ) {
$filter_args['status'] = $assoc_args['status'];
}
if ( isset( $assoc_args['product-type'] ) ) {
$filter_args['product_type'] = $assoc_args['product-type'];
}
if ( isset( $assoc_args['vendor'] ) ) {
$filter_args['vendor'] = $assoc_args['vendor'];
}
if ( isset( $assoc_args['ids'] ) ) {
$filter_args['ids'] = $assoc_args['ids'];
}
$count = $fetcher->fetch_total_count( $filter_args );
if ( 0 === $count ) {
WP_CLI::log( 'No products found or unable to fetch count.' );
} else {
$filters = array();
if ( isset( $assoc_args['status'] ) ) {
$filters[] = "status '{$assoc_args['status']}'";
}
if ( isset( $assoc_args['product-type'] ) ) {
$filters[] = "type '{$assoc_args['product-type']}'";
}
if ( isset( $assoc_args['vendor'] ) ) {
$filters[] = "vendor '{$assoc_args['vendor']}'";
}
if ( isset( $assoc_args['ids'] ) ) {
$filters[] = "IDs '{$assoc_args['ids']}'";
}
$filter_description = empty( $filters ) ? '' : ' with ' . implode( ', ', $filters );
WP_CLI::success( "Found {$count} products{$filter_description} on {$platform_display_name}." );
}
}