Automattic\WooCommerce\Internal\CLI\Migrator\Core

WooCommerceProductImporter::set_product_attributes │ private │ WC 1.0

Set product attributes.

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

Хуков нет.

Возвращает

null. Ничего (null).

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

// private - только в коде основоного (родительского) класса
$result = $this->set_product_attributes( $product, $attributes ): void;
$product(WC_Product) (обязательный)
Product object.
$attributes(массив) (обязательный)
Attributes data.

Код WooCommerceProductImporter::set_product_attributes() WC 11.2.1

private function set_product_attributes( WC_Product $product, array $attributes ): void {
	$product_attributes = array();

	foreach ( $attributes as $attribute_data ) {
		if ( empty( $attribute_data['name'] ) ) {
			continue;
		}

		$attribute = new \WC_Product_Attribute();
		$attribute->set_name( $attribute_data['name'] );
		$attribute->set_options( $attribute_data['options'] ?? array() );
		$attribute->set_variation( $attribute_data['is_variation'] ?? $attribute_data['variation'] ?? false );
		$attribute->set_visible( $attribute_data['is_visible'] ?? $attribute_data['visible'] ?? true );

		$product_attributes[] = $attribute;
	}

	$product->set_attributes( $product_attributes );
}