通过编程将自定义帖子添加到自定义分类

时间:2019-05-03 22:18:44

标签: php wordpress

我在用户注册时创建了自定义帖子。还创建了一个自定义分类法(“ 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' );

1 个答案:

答案 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' );
}