How to set category to product woocommerce

php, woocommerce, wordpress

Solution

After some trial and error I solved it the following way:

// Creates woocommerce product 
$product = array(
    'post_title'    => $name,
    'post_content'  => '',
    'post_status'   => 'publish',
    'post_author'   => $current_user->ID,
    'post_type'     =>'product'
);

// Insert the post into the database
$product_ID = wp_insert_post($product);

// Gets term object from Tree in the database. 
$term = get_term_by('name', 'Tree', 'product_cat');

wp_set_object_terms($product_ID, $term->term_id, 'product_cat');

reference for more information:

- How to programatically set the category for a new Woocommerce Product Creation?

- http://codex.wordpress.org/Function_Reference/get_term_by

- https://wordpress.stackexchange.com/questions/16394/how-to-get-a-taxonomy-term-name-by-the-slug

Problem

is it possible to add a category to a woocommerce post? I am creating my products as follows: ``` // creates woocommerce product $product = array( 'post_title' => $name, 'post_content' => '', 'post_status' => 'publish', 'post_author' => $current_user->ID, 'post_type' =>'product' ); // Insert the post into the database $product_ID = wp_insert_post($product); ``` I have a category called "Tree" where I have to add the above product to. I have tried the following but without succes. Is there some special way to add a category? ``` wp_set_object_terms($productID, array('Tree'), 'product_cat'); ```

Original source

Related problems