Не выводятся атрибуты в товаре Woocommerce с помощью php кода
подскажите пожалуйста, добавляю кодом вариации в товар, вариация создается, то есть я вижу в админке в списке товаров цены от и до, но при этом в атрибутах товара и вариациях пусто, как только в ручную добавляю атрибут в товар, вариации с ценами также начинают отображаться. Не могу понять где косяк (
$product_id = 3686; // Замените на ID вашего продукта
$attributes = array(
'pa_price' => array(
'name' => 'Цена',
'value' => 'Взрослые, Пенсионеры, Студент, Школьник, Дошкольник, Иностранцы (взрослые, студенты, дети)',
'position' => 0,
'is_visible' => true,
'is_variation' => true,
'is_taxonomy' => true,
'is_archived' => false,
),
);
$product = new WC_Product_Variable( $product_id );
$product->set_attributes( $attributes );
$variation_data = array(
array(
'attributes' => array(
'pa_color' => 'Взрослые',
),
'regular_price' => '100',
),
array(
'attributes' => array(
'pa_color' => 'Пенсионеры',
),
'regular_price' => '120',
),
array(
'attributes' => array(
'pa_color' => 'Студент',
),
'regular_price' => '110',
),
array(
'attributes' => array(
'pa_color' => 'Школьник',
),
'regular_price' => '130',
),
array(
'attributes' => array(
'pa_color' => 'Дошкольник',
),
'regular_price' => '1300',
),
array(
'attributes' => array(
'pa_color' => 'Иностранцы (взрослые, студенты, дети)',
),
'regular_price' => '1030',
),
);
foreach ( $variation_data as $variation ) {
$variation_post = array(
'post_title' => $product->get_name(),
'post_status' => 'publish',
'post_parent' => $product_id,
'post_type' => 'product_variation',
);
// Создаем запись вариации
$variation_id = wp_insert_post( $variation_post );
// Устанавливаем атрибуты и цену для вариации
if ( ! is_wp_error( $variation_id ) ) {
$product_variation = new WC_Product_Variation( $variation_id );
$product_variation->set_attributes( $variation['attributes'] );
$product_variation->set_regular_price( $variation['regular_price'] );
$product_variation->save();
}
} $product->save();