Automattic\WooCommerce\Internal\CLI\Migrator\Core

WooCommerceProductImporter::set_basic_product_propertiesprivateWC 1.0

Set basic product properties common to all product types.

Method of the class: WooCommerceProductImporter{}

No Hooks.

Returns

null. Nothing (null).

Usage

// private - for code of main (parent) class only
$result = $this->set_basic_product_properties( $product, $product_data ): void;
$product(WC_Product) (required)
Product object.
$product_data(array) (required)
Product data.

WooCommerceProductImporter::set_basic_product_properties() code WC 10.7.0

private function set_basic_product_properties( WC_Product $product, array $product_data ): void {
	$product->set_name( $product_data['name'] );

	if ( ! empty( $product_data['slug'] ) ) {
		$product->set_slug( $product_data['slug'] );
	}

	if ( ! empty( $product_data['description'] ) ) {
		$product->set_description( $product_data['description'] );
	}

	if ( ! empty( $product_data['short_description'] ) ) {
		$product->set_short_description( $product_data['short_description'] );
	}

	if ( ! empty( $product_data['status'] ) ) {
		$product->set_status( $product_data['status'] );
	}

	if ( ! empty( $product_data['sku'] ) ) {
		$product->set_sku( $product_data['sku'] );
	}

	if ( isset( $product_data['catalog_visibility'] ) ) {
		$product->set_catalog_visibility( $product_data['catalog_visibility'] );
	}

	if ( ! empty( $product_data['date_created_gmt'] ) ) {
		$product->set_date_created( $product_data['date_created_gmt'] );
	}

	if ( ! empty( $product_data['weight'] ) ) {
		$product->set_weight( $product_data['weight'] );
	}

	if ( ! empty( $product_data['tax_status'] ) ) {
		$product->set_tax_status( $product_data['tax_status'] );
	}

	if ( ! empty( $product_data['metafields'] ) ) {
		foreach ( $product_data['metafields'] as $key => $value ) {
			if ( ! empty( $key ) ) {
				$product->add_meta_data( $key, $value, true );
			}
		}
	}

	if ( ! empty( $product_data['meta_data'] ) ) {
		foreach ( $product_data['meta_data'] as $meta ) {
			if ( ! empty( $meta['key'] ) ) {
				$product->add_meta_data( $meta['key'], $meta['value'] ?? '', true );
			}
		}
	}
}