Voici mon code, cela fonctionne bien Quand j'essaie de poster des données de front end si Connecté en tant qu'administrateur, mais si je me suis connecté en tant que code d'abonné fonctionne bien mais il ne s'agit pas d'insérer le terme de taxonomie que j'ai sélectionné, voici le code. .
$new_post = array(
'post_title' => $postTitle,
'post_content' => $post,
'post_status' => 'publish',
'post_date' => date('Y-m-d H:i:s'),
'post_author' => $user_ID,
'post_type' => 'publications',
'tax_input' => array( 'publicationstype'=> $term_id )
//'post_category' => array(6)
);
wp_insert_post($new_post);
ici 'publicationstype' est la taxonomie personnalisée, y a-t-il quelqu'un qui peut m'aider !! merci d'avance
C'est parce que, dans wp_insert_post
, les capacités des utilisateurs actuels sont vérifiées avant d'ajouter les termes:
if ( current_user_can($taxonomy_obj->cap->assign_terms) )
wp_set_post_terms( $post_ID, $tags, $taxonomy );
pour contourner ce problème, utilisez wp_set_object_terms
après wp_insert_post
pour ajouter les termes:
$new_post = array(
'post_title' => $postTitle,
'post_content' => $post,
'post_status' => 'publish',
'post_date' => date('Y-m-d H:i:s'),
'post_author' => $user_ID,
'post_type' => 'publications'
);
$new_id = wp_insert_post( $new_post );
wp_set_object_terms( $new_id, $term_id, 'publicationstype' );