如何在Buddypress Activity Stream中添加自定义事件项?

时间:2014-04-02 17:37:04

标签: wordpress stream buddypress

有人知道如何将自定义事件项添加到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
));

1 个答案:

答案 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/