Добавление пользовательской публикации в пользовательскую таксономию программным способом - PullRequest
1 голос
/ 04 мая 2019

У меня есть пользовательский пост, созданный при регистрации пользователя.Существует также пользовательская таксономия ('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 голосов
/ 04 мая 2019

Проблема связана с функцией term_exists. Может возвращать нуль / ID / массив в зависимости от того, какие данные вы предоставили. Проверьте документы . В вашем случае, он вернет массив, который затем вы попытаетесь присвоить терминам массив, который потерпит неудачу. Также нет необходимости использовать функцию term_exists, так как 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' );
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...