我设置了一个名为“照片”的自定义内容类型,工作正常。现在我使用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是应与“照片”帖子类型相关联的类别)。除此之外,标签也不会创建并与此帖相关联。
有没有人对我做错了什么或他们推荐的其他方法有什么想法?
答案 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');
您可以使用相同的功能添加标签