2014-04-17 13 views
6

Buduję formularz dla użytkowników, aby utworzyć produkt za pośrednictwem interfejsu mojej witryny przy użyciu wp_insert_post i update_post_meta.Ustawianie etykiet produktów i kategorii Woocommerce za pomocą niestandardowego formularza interfejsu użytkownika

Problem pojawia się podczas próby ustawienia kategorii produktów i tagów. Wygląda na to, że Woocommerce nie stosuje standardowych systematyk Wordpress w tym zakresie. Ktoś ma jakieś doświadczenie z tym? Wygląda na to, że Woocommerce w niektórych miejscach używa product_tags. Czy istnieje funkcja ich tworzenia podobna do Wordpress?

Poniżej znajduje się fragment tego, co robię. Dzięki!

$post = array(
'ID' => '', 
'post_content' => $_POST['post_content'], 
'post_title' => $_POST['post_title'], 
'post_status' => 'draft', 
'post_type' => 'product', 
'post_author' => $user_id, 
); 

$newListing = wp_insert_post($post, $wp_error); 

//SET META 
update_post_meta($newListing, '_stock_status', 'instock', true); 
update_post_meta($newListing, '_visibility', 'visible', true); 
update_post_meta($newListing, '_price', $_POST['_regular_price'], true); 

//SET CATEGORIES - **NOT WORKING** 
wp_set_post_categories($newListing, $categories); 

//SET THE TAGS **NOT WORKING** 
wp_set_post_tags($newListing, $tags, true); 

Odpowiedz

8

Wykryto wbudowaną funkcję Wordpress wp_set_object_terms poradzi sobie z tym dość łatwo.

Poniżej kilka przykładów:

//SET THE PRODUCT CATEGORIES 
wp_set_object_terms($productID, array('Cat Name 1', 'Cat Name 2'), 'product_cat'); 

//SET THE PRODUCT TAGS 
wp_set_object_terms($productID, array('tag1','tag2','tag3'), 'product_tag'); 
Powiązane problemy