Adăugarea unui produs variabil în WooCommerce programatic
5 dec. 2012, 12:24:04
Vizualizări: 19.7K
Voturi: 5
Cum pot să-l fac un produs variabil și să adaug variații? Sunt variațiile tratate ca atribute?
Acest cod creează un produs și adaugă un atribut (mărimea XL) dar nu pot face ca acel atribut să fie folosit ca variație, cu un preț personalizat (etc).
Aceasta este o funcție apelată prin ajax
function createnewproduct(){
$new_post = array(
'post_title' => "Produs Variabil Personalizat",
'post_content' => 'Lorem ipsum dolor sit amet...',
'post_status' => 'publish',
'post_type' => 'product'
);
$skuu = randomsku('csm','personalizat',6);
$post_id = wp_insert_post($new_post);
update_post_meta($post_id, '_sku', $skuu );
update_post_meta( $post_id, '_price', "25" );
//l-am făcut variabil dar variațiile nu sunt adăugate!
wp_set_object_terms ($post_id, 'variable', 'product_type');
wp_set_object_terms( $post_id, 'XL', 'pa_size' );
//totul funcționează bine dar
//cum fac atributul "pa_size" să fie o variație?
update_post_meta( $post_id, '_visibility', 'search' );
update_post_meta( $post_id, '_stock_status', 'instock');
}
Această funcție declară în WooCommerce că noul produs adăugat este un produs variabil și adaugă un atribut "mărime". Problema este cum îi spunem WooCommerce că atributul "mărime" este o variație.

markware
121
Comentarii
Toate răspunsurile la întrebare
1
0
Am găsit soluția pentru a transforma un atribut al produsului într-o variație. Să presupunem că avem:
wp_set_object_terms( $post_id, 'XL', 'pa_size' );
Codul de mai sus este pentru un atribut personalizat (un atribut de mărime). Pentru a-l transforma într-o variație, trebuie să faceți următoarele:
$thedata = Array('pa_size'=>Array(
'name'=>'pa_size',
'value'=>'',
'is_visible' => '1',
'is_variation' => '1',
'is_taxonomy' => '1'
));
update_post_meta( $post_id,'_product_attributes',$thedata);

markware
121
6 dec. 2012 11:55:46
Întrebări similare
3
răspunsuri
2
răspunsuri