2014-04-17 6 views
6

Ich erstelle ein Formular für Benutzer, um ein Produkt über das Frontend meiner Site zu erstellen. Verwenden Sie dazu wp_insert_post und update_post_meta.Einstellen von Woocommerce-Produkt-Tags und Kategorien über das benutzerdefinierte Frontend-Formular

Das Problem tritt auf, wenn versucht wird, die Produktkategorien und Tags festzulegen. Es scheint, dass Woocommerce in dieser Hinsicht keine standardisierten Wordpress-Taxonomien verwendet. Hat jemand damit Erfahrung? Es scheint, dass Woocommerce an einigen Stellen product_tags verwendet. Gibt es eine Funktion, um sie ähnlich wie Wordpress zu erstellen?

Unten ist ein Ausschnitt von dem, was ich mache. Vielen Dank!

$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); 

Antwort

8

wp_set_object_terms dies ganz leicht wird handhaben die eingebaute in Wordpress-Funktion gefunden werden.

Im Folgenden sind einige Beispiele:

//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'); 
Verwandte Themen