重力表单和wp_update_post

时间:2013-03-27 作者:Morgan Kay

我使用重力表单让用户创建帖子。用户填写一组信息,然后创建一篇帖子。用户可以选择帖子所属的类别,但我还需要为每个帖子添加一个类别。我正在尝试使用gform\\u after\\u提交挂钩(http://www.gravityhelp.com/documentation/page/Gform_after_submission) 和wp\\u update\\u post。我只想在帖子中再添加一个类别。这是我的代码:

add_action("gform_after_submission_5", "add_category", 10, 2);
function add_category($entry) {
  $post = get_post($entry["post_id"]);
  $post->post_category = array ( 48 );
  wp_update_post($post);
}
这确实添加了适当的类别,所以这很好,但它也删除了所有其他帖子数据,这很糟糕。

我做错了什么?这段代码可以使用吗,或者我应该采取另一种方法吗?

1 个回复
最合适的回答,由SO网友:vancoder 整理而成

从核心来看,post\\u类别似乎总是覆盖:

 // Passed post category list overwrites existing category list if not empty.
相反,请尝试以下操作:

//wp_set_post_terms( $post_id, $terms, $taxonomy, $append )
wp_set_post_terms( $entry["post_id"], 48, $taxonomy, true )
显然,用正确的名称替换$taxonomy。

结束

相关推荐