有人知道如何将自定义事件项添加到Buddypress活动流的基本步骤吗?我有自定义帖子类型"活动"我的成员可以在帖子中点击它并在数据库表中记录该用户已完成"那个活动。或多或少像一个"做"名单。我试图找出如何将其与buddypress活动流集成,因此当用户点击按钮时,它会插入类似的内容," John Doe已经完成了Permalinked Post Title Here。"我已经浏览了Buddypress的codex&谷歌搜索了很多,但我似乎无法找到任何好的教程。如果有人能指出我正确的方向或一步一步地给我一个简单的英语,我将不胜感激。请注意,我并不是在寻找任何编写的代码,只是对实现这一过程所涉及的步骤的一般概念。
对于正在搜索的人来说,这就是我在我的php文件中编写的内容,该文件是在按钮的ajax请求中调用的,"完成"活动......
// Begin Code for Custom Activity Stream
global $wp, $wp_query;
$this_activity_object = get_post( $activity_post_id_complete );
$title = $this_activity_object->post_title;
$activity_content = $title;
$this_user_profile_url = bp_core_get_user_domain($wp_user_id);
$action_String = "<a href=\"". $this_user_profile_url ."\">@" . bp_core_get_username($wp_user_id)."</a> just completed a custom activity!";
global $bp;
bp_activity_add( array(
'user_id' => $wp_user_id,
'item_id' => $activity_db_id_complete,
'action' => $action_String,
'content' => $activity_content,
'component' => 'activity',
'primary_link' => '<a href="'.get_post_permalink($this_activity_id).'">' . $title . '</a>',
'type' => 'custom_activity_update',
'hide_sitewide' => false
));
答案 0 :(得分:1)
您可以使用bp_activity_add()
。例如,你这样做:
// record an activity item to the activity table
bp_activity_add( array(
'id' => $id
'user_id' => $user_id,
'item_id' => $item_id,
'action' => $action,
'content' => $content,
'component' => $component,
'primary_link' => $link,
'type' => $type,
'secondary_item_id' => $secondary_item_id,
'recorded_time' => $time,
'hide_sitewide' => false,
'is_span' => $spam
));
参考解释参数的含义:
http://codex.buddypress.org/developer/function-examples/bp_activity_add/