Automattic\WooCommerce\Internal\CLI\Migrator\Core

WooCommerceProductImporter::handle_simple_productprivateWC 1.0

Handle simple product specific data.

Method of the class: WooCommerceProductImporter{}

No Hooks.

Returns

null. Nothing (null).

Usage

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

WooCommerceProductImporter::handle_simple_product() code WC 10.7.0

private function handle_simple_product( WC_Product_Simple $product, array $product_data ): void {
	if ( ! empty( $product_data['regular_price'] ) ) {
		$product->set_regular_price( $product_data['regular_price'] );
		$product->set_price( $product_data['regular_price'] );
	}

	if ( ! empty( $product_data['sale_price'] ) ) {
		$product->set_sale_price( $product_data['sale_price'] );
		$product->set_price( $product_data['sale_price'] );
	}

	if ( ! empty( $product_data['sku'] ) ) {
		add_filter( 'wc_product_has_unique_sku', '__return_false', 999 );
		$product->set_sku( $product_data['sku'] );
		remove_filter( 'wc_product_has_unique_sku', '__return_false', 999 );
	}

	if ( isset( $product_data['manage_stock'] ) ) {
		$product->set_manage_stock( $product_data['manage_stock'] );
	}

	if ( ! empty( $product_data['stock_quantity'] ) ) {
		$product->set_stock_quantity( (int) $product_data['stock_quantity'] );
	}

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

	if ( array_key_exists( 'cost_of_goods', $product_data ) ) {
		$cogs_is_enabled = FeaturesUtil::feature_is_enabled( 'cost_of_goods_sold' );
		if ( $cogs_is_enabled ) {
			$product->set_cogs_value( (float) $product_data['cost_of_goods'] );
		} else {
			$this->set_cogs_value_direct( $product, (float) $product_data['cost_of_goods'] );
		}
	}
}