Wordpress:工作错误 - 自定义帖子类型的wp_insert_post - 类别没有关联

时间:2011-12-07 15:15:08

标签: wordpress post tags categories

我设置了一个名为“照片”的自定义内容类型,工作正常。现在我使用wp_insert_post()插入具有该内容类型的帖子,并且遇到添加类别的问题。这些是我与帖子类型相关联的分层类别,可以在管理区域中设置,但我尝试使用PHP代码关联它们,但它不起作用。

以下是代码段:

$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是应与“照片”帖子类型相关联的类别)。除此之外,标签也不会创建并与此帖相关联。

有没有人对我做错了什么或他们推荐的其他方法有什么想法?

1 个答案:

答案 0 :(得分:4)

有一个函数,它被称为wp_set_object_terms()。 http://codex.wordpress.org/Function_Reference/wp_set_object_terms

例如:

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

您可以使用相同的功能添加标签