带有自定义分类的wp_insert_post

时间:2017-02-08 10:25:16

标签: php wordpress

我使用以下代码注册了自定义分类:

register_taxonomy( 'user_r_category', array( 'user_r' ), $args );

现在我尝试在类别ID 7和post_type'user_r'中的'user_r_c​​ategory'分类中插入一个帖子:

$new_post = array(
          //'ID' => '',
          'post_author' => $current_user->ID, 
          //'post_category' => array(7),
          'post_type'   => 'user_r',
          'post_content' => $r_textarea, 
          'post_title' => $r_title,
          'tax_input'    => array(
                            'user_r_category' => array( 7 )
                        ),
          'post_status' => 'publish'
        );

    $post_id = wp_insert_post($new_post);

该帖子已创建,但不属于类别7.这怎么可行?

1 个答案:

答案 0 :(得分:2)

您需要使用:

1- get_term_by获取术语obj
2- wp_set_object_terms设置自定义分类法的术语

$post_id = wp_insert_post($new_post);
$taxonomy = 'user_r_category';
$termObj  = get_term_by( 'id', 7, $taxonomy);
wp_set_object_terms($post_id, $termObj, $taxonomy);