Automattic\WooCommerce\Blocks\AIContent

UpdateProducts::product_update()privateWC 1.0

Update the product with the new content.

Метод класса: UpdateProducts{}

Хуков нет.

Возвращает

int|\WP_Error.

Использование

// private - только в коде основоного (родительского) класса
$result = $this->product_update( $product, $product_image_id, $product_title, $product_description, $product_price );
$product(\WC_Product) (обязательный)
The product.
$product_image_id(int|строка|WP_Error) (обязательный)
The product image ID.
$product_title(строка) (обязательный)
The product title.
$product_description(строка) (обязательный)
The product description.
$product_price(int) (обязательный)
The product price.

Код UpdateProducts::product_update() WC 9.6.0

private function product_update( $product, $product_image_id, $product_title, $product_description, $product_price ) {
	if ( ! $product instanceof \WC_Product ) {
		return new WP_Error( 'invalid_product', __( 'Invalid product.', 'woocommerce' ) );
	}

	if ( ! is_wp_error( $product_image_id ) ) {
		$product->set_image_id( $product_image_id );
	} else {
		wc_get_logger()->warning(
			sprintf(
				// translators: %s is a generated error message.
				__( 'The image upload failed: "%s", creating the product without image', 'woocommerce' ),
				$product_image_id->get_error_message()
			),
		);
	}
	$product->set_name( $product_title );
	$product->set_description( $product_description );
	$product->set_price( $product_price );
	$product->set_regular_price( $product_price );
	$product->set_slug( sanitize_title( $product_title ) );
	$product->save();

	$this->create_hash_for_ai_modified_product( $product );

	return $product->get_id();
}