I built this array with enough data to create the variables This is the array:
array:3 [▼
174476439607 => array:2 [▼
"precio" => 130.0
"atributos" => array:2 [▼
"COLOR" => "Marrón"
"SIZE" => "S"
]
]
174476439611 => array:2 [▼
"precio" => 130.0
"atributos" => array:2 [▼
"COLOR" => "Marrón"
"SIZE" => "2XL"
]
]
174537548878 => array:2 [▼
"precio" => 130.0
"atributos" => array:2 [▼
"COLOR" => "Chocolate"
"SIZE" => "2XL"
]
]
]
How would you take that data and add it to the product as your variables?
The parent product id is obtained from this variable
$objProduct->get_id()
result 19289
I have this code but it doesn't seem to work.
$variation = new \WC_Product_Variation();
$variation->set_parent_id($objProduct->get_id()); // Set parent ID
//$variation->set_regular_price(null); // Set price
$variation->set_price($nikopreciovaraible); // Set price
// Enable and set stock
$variation->set_manage_stock(false);
//$variation->set_stock_quantity($variation_data['quantity']);
$variation->set_stock_status('instock');
$attributes = array(); // Initializing
$attribute_names = (array) $color;
$attribute_terms = (array) $talla;
// Formatting attributes data array
foreach( $attribute_names as $key => $attribute_name ){
$attributes[sanitize_title($attribute_name)] = $attribute_terms[$key];
}
$variation->set_attributes($attributes); // Set attributes
dd($variation);
$variation_id = $variation->save(); // Save to database (return the variation Id)
this is how i'm doing it
foreach ($datastore as $createvariablesniko) {
$nikopreciovaraible = $createvariablesniko[precio];
$color = $createvariablesniko['atributos'][COLOR];
$talla = $createvariablesniko['atributos'][SIZE];
//finalmetida de productos
$variation = new \WC_Product_Variation();
$variation->set_parent_id($objProduct->get_id()); // Set parent ID
//$variation->set_regular_price(null); // Set price
$variation->set_price($nikopreciovaraible); // Set price
// Enable and set stock
$variation->set_manage_stock(false);
//$variation->set_stock_quantity($variation_data['quantity']);
$variation->set_stock_status('instock');
$attributes = array(); // Initializing
$attribute_names = (array) $color;
$attribute_terms = (array) $talla;
// Formatting attributes data array
foreach( $attribute_names as $key => $attribute_name ){
$attributes[sanitize_title($attribute_name)] = $attribute_terms[$key];
}
$variation->set_attributes($attributes); // Set attributes
//dd($variation);
$variation_id = $variation->save(); // Save to database (return the variation Id)
get the 3 variables added but with blank content in woocommerce admin.