2011-12-07 20 views
1

「写真」というカスタムコンテンツタイプが正しく動作しています。今、wp_insert_post()を使用してそのコンテンツタイプの投稿を挿入していて、カテゴリを追加する際に問題が発生しました。これらは階層型カテゴリであり、投稿タイプに関連付けられ、管理領域に設定できますが、PHPコードを使用して関連付けを試みますが、動作しません。ここで Wordpress:間違った作業 - カスタム投稿タイプのwp_insert_post - カテゴリが関連付けられていません

は、コードスニペットです:

$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); 

このすべての作品とカスタムポストが挿入され、期待通りに現れているが、それはそれに割り当てられているすべてのカテゴリを持っていません。 (カテゴリー6とカテゴリー7は、「写真」ポストタイプに関連するカテゴリーです)。さらに、タグは作成されず、この投稿に関連付けられます。

誰かが私が間違ってやっていることや、他のアプローチを推奨している人に考えを持っている人はいますか?

答えて

4

これにはwp_set_object_terms()という関数があります。 http://codex.wordpress.org/Function_Reference/wp_set_object_terms

例:

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

あなたがタグも作成し、この記事と関連していないことよりも

+0

複数のタグを追加するために、同じ機能を使用することができます。 - これで私を助けてもらえますか、実際にはタグのいくつかは既に存在し、いくつかは新しいものです、ここに問題があります、他の助けをありがとう –

関連する問題