Automattic\WooCommerce\Internal\CLI\Migrator\Core
WooCommerceProductImporter::handle_simple_product
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() 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'] );
}
}
}