2011-12-07 1 views
1

J'ai mis en place un type de contenu personnalisé appelé "photo" qui fonctionne correctement. Maintenant, j'insère des messages avec ce type de contenu en utilisant wp_insert_post() et je rencontre un problème en ajoutant une catégorie. Ce sont des catégories hiérarchiques que j'ai associées au type de publication et que je peux définir dans la zone d'administration, mais j'essaie de les associer en utilisant du code PHP, cela ne fonctionne pas.Wordpress: Mauvais fonctionnement - wp_insert_post pour le type de message personnalisé - category n'est pas associé

Voici l'extrait de code:

$new_entry = array(); 
$new_entry['post_title'] = $_POST['submit-title']; 
$new_entry['post_content'] = ''; 
$new_entry['post_status'] = 'pending'; 
$new_entry['post_type'] = 'photo'; 
$new_entry['post_author'] = $userID; 
$new_entry['post_category'] = array(6,7); // this is the line that doesn't work 
$new_entry['tags_input'] = array('nature','people','fun'); // this also doesn't work 

// Insert the post into the database 
$post_id = wp_insert_post($new_entry); 

tout cela fonctionne et le message personnalisé est inséré et apparaît comme prévu, mais il n'a pas des catégories qui lui sont assignées. (Les catégories 6 et 7 sont des catégories qui doivent être associées au type de publication "photo"). Plus que cela, les tags ne sont pas créés et associés à ce post.

Quelqu'un at-il des idées sur ce que je fais de mal ou d'autres approches qu'ils recommandent?

Répondre

4

Il existe une fonction pour cela, elle s'appelle wp_set_object_terms(). http://codex.wordpress.org/Function_Reference/wp_set_object_terms

par exemple:

wp_set_object_terms($post_id, $category_ids, 'category'); 

vous pouvez utiliser la même fonction pour ajouter des balises

+0

Plus que les balises sont pas créés et associés à ce poste. - Pouvez-vous s'il vous plaît m'aider avec cela, en fait certains des tags existent déjà et certains sont tout neufs, voici le problème, Merci pour l'autre aide –

Questions connexes