我在用户注册时创建了自定义帖子。还创建了一个自定义分类法(“ connection1”)。我需要将此帖子添加到该分类法中。
帖子添加得很好。分类法也没有问题。但是由于某种原因,发布未添加到分类法中
$user = new WP_User( $user_id );
$user->set_role( 'participation' );
$my_cptpost_args = array(
'post_title' => 'user-'.$user_id,
'slug' => $user_id,
'post_status' => 'publish',
'post_type' => 'profile'
);
$cpt_id = wp_insert_post( $my_cptpost_args, $wp_error);
wp_insert_term($user_id,'connection1');
$term_id = term_exists( $user_id, 'connection1' );
wp_set_post_terms($cpt_id , array( $term_id ), 'connection1' );
答案 0 :(得分:0)
该问题与term_exists
函数有关。根据您提供的数据,它可以返回null / ID / array。 Check docs。在您的情况下,它将返回一个数组,然后您尝试将其分配给条件数组,这将失败。另外,由于term_exists
将返回术语ID,因此无需使用wp_insert_term
函数。您的代码应如下所示:
$new_term = wp_insert_term($user_id,'connection1');
if( ! is_wp_error($new_term) ) {
wp_set_post_terms($cpt_id , $new_term['term_id'], 'connection1' );
}