У меня есть функция, которая должна создать вариацию и заполнить вариацию значениями, атрибутами переменной продукта. Чтобы стать более гибким, я не создавал значения для атрибутов продуктов, кромеКак передать переменные атрибутам вариациям продукта переменной Woocomerce?
Я пробовал сотни способов, чтобы значения придерживались вариации, но они не используются. Вариант создается в бэкэнд, но он не имеет ни одного из значений, присвоенных ?????? PLEEEEASE HELP !!!! Im на этом уже 4 дня. (
Единственные значения, относящиеся к атрибутам продукта: «>> EMPTY < <» значение.///////////// Переменные $ Данные -> Array (Key -> Value), так что ключи == к продукции atributes $ продукта -> $ product_id
function add_variable_product_to_cart($product_id, $data) {
$my_post = array(
'post_title'=> 'Order_Printaway',
'post_name' => 'product_' . $data["itemIdentifier"],
'post_status' => 'publish',
'post_parent' => $product_id ,//post is a child post of product post
'post_type' => 'product_variation',//set post type to product_variation
'guid'=>home_url() . '/?product_variation=product_' . $data["itemIdentifier"]
);
//Insert ea. post/variation into database:
$attID = wp_insert_post($my_post);
update_post_meta($attID, '_price', $data["final_price"]);
update_post_meta($attID, '_regular_price', $data["final_price"]);
foreach($data as $key => $value){
$avail_attributes = array($value);
wp_set_object_terms($product_id, $avail_attributes, $key);
$thedata[$key]['name'] = $value;
}
update_post_meta($attID,'_product_attributes',$thedata);
if (! is_admin()) {
$found = false;
//check if product already in cart
if (sizeof(WC()->cart->get_cart()) > 0) {
// if product not found, add it
if (! $found){
WC()->cart->add_to_cart($product_id, 1, $attID);
}
}
else{
// if no products in cart, add it
WC()->cart->add_to_cart($product_id, 1, $attID);
}
}
}
/////////////////////////////////////////////////// ////////////////////////////////////////////////// //////////////////////////////////// ВЫВОД ///////////// ////////////////////////////////////////////////// ///////
// Atributes продукта ->
Array ([a_color] => Array ([имя] => a_color [значение] => >> EMPTY < < [позиция ] => 0 [is_visible] => 0 [is_variation] => 1 [is_taxonomy] => 0) [a_creasing] => Array ([name] => a_creasing [значение] => >> EMPTY < < [position] => 1 [is_visible] => 0 [is_variation] => 1 [is_taxonomy] => 0) [a_finishing] => Array ([name] => a_finishing [значение] => >> EMPTY < < [position] => 2 [is_visible] => 0 [is_variation] => 1 [ is_taxonomy] => 0) [a_finishing_desc] => Array ([name] => a_finishing_desc [значение] => >> EMPTY < < [position] => 3 [is_visible] => 0 [is_variation] => 1 [is_taxonomy] => 0) [a_format_dir] => Array ([name] => a_format_dir [значение] => >> EMPTY < < [position] => 4 [is_visible] => 0 [is_variation] => 1 [is_taxonomy] => 0) [a_page] => Массив ([name] => a_page [значение] => >> EMPTY < < [position] => 5 [is_visible] => 0 [is_variation] => 1 [is_taxonomy] => 0) [бумага] => Array ([name] => a_paper [value] => >> EMPTY < < [position] => 6 [is_visible] => 0 [is_variation] => 1 [is_taxonomy] => 0) [a_paper_desc] => Массив ([name] => a_paper_desc [значение] => >> EMPTY < < [позиция] => 7 [is_visible] => 0 [is_variation] => 1 [is_taxonomy] => 0) [a_perforation] => Массив ([name] => a_perforation [значение] => >> EMPTY < < [position] => 8 [is_visible] => 0 [is_variation] => 1 [is_taxonomy] => 0) [a_processing] => Array ([name ] => a_processing [значение] => >> EMPTY < < [position] => 9 [is_visible] => 0 [is_variation] => 1 [is_taxonomy] => 0) [product] => Array ([name] = > product [value] => >> EMPTY < < [position] => 10 [is_visible] => 0 [is_variation] => 1 [is_taxonomy] => 0) [shipping] => Array ([name] => shipping [значение] => >> EMPTY < < [положение] => 11 [is_visible] => 0 [is_variation] => 1 [is_taxonomy] => 0))
//// массив данных, которые я пытаюсь ввести в Вариация
Array ([languageCode] => Array ([name] => en) [countryCode] => Array ([name] => GB) [saveItem] => Array ([name] => сохранить элемент по name) [itemIdentifier] => Array ([name] => asdasadasds) [product] => Array ([name] => flyer) [a_page] => Array ([name] => A_1stg) [a_format] => Array ([name] => A_105_x_148_mm_DIN-A-6) [a_format_dir] => Array ([name] => A_panel_format) [a_paper] => Массив ([name] => A_115gqm_Bilderdruck) [a_paper_desc] => Массив ([имя] => A_paper_gloss_no_core) [a_color] => Массив ([имя] => A_4/0-farbig_Euroskala) [ a_finishing] => Array ([name] => A_Ohne_Finishing) [a_finishing_desc] => Array ([name] => A_Ohne_Veredelung) [a_processing] => Array ([name] => A_Cutt) [a_creasing] => Array ([name ] => A_No_Groove) [a_perforation] => Array ([name] => A_No_Perfo) [quantity] => Array ([name] => 100_quantity) [shipping] => Array ([name] => standard) [priceNet] => Array ([name] => 8,31) [priceGross] => Array ([name] => 9,97) [shippingNet] => Array ([name] => 4,13) [отправкаGross] => Array ([name] => 4,96) [final_price] => Array ([name] => 17.916)) Атрибуты вариации после get_post_meta (757, '_product_attributes', true)) Array ([0] => Array ([languageCode] => Array ([name] => en) [countryCode] => Array ([ name] => GB) [saveItem] => Array ([name] => сохранить элемент по имени) [itemIdentifier] => Array ([name] => asdasadasds) [product] => Array ([name] => flyer) [a_page] => Массив ([name] => A_1stg) [a_format] => Массив ([name] => A_105_x_148_mm_DIN-A-6) [a_format_dir] => Массив ([имя] => A_panel_format) [a_paper] => Array ([name] => A_115gqm_Bilderdruck) [a_paper_desc] => Массив ([name] => A_paper_gloss_no_core) [a_color] => Массив ([name] => A_4/0-farbig_Euroskala) [a_finishing] => Массив ([name] => A_Ohne_Finishing) [a_finishing_desc] => Array ([name] => A_Ohne_Veredelung) [a_processing] => Array ([name] => A_Cutt) [a_creasing] => Array ([name] => A_No_Groove) [ a_perforation] => Array ([name] => A_No_Perfo) [quantity] => Array ([name] => 100_quantity) [shipping] => Array ([name] => standard) [priceNet] => Array ([name] => 8,31) [priceGross] => Array ([name] => 9,97) [shippingNet] => Array ([name] => 4,13) [ ([name] => 4,96) [final_price] => Array ([name] => 17.916)))
Спасибо. , , Я дам ему попробовать! –