在我安装的 buddypress 中,博客文章(wp-post)没有出现在开箱即用的活动流中。所以我在 bp-acitivity-actions.php 中添加了一段代码: function buddypress_edit_blog_post($post_id) { global $bp, $user_id; $post = get_post($post_id); $title = $post->post_title; $user_fullname = bp_core_get_user_displayname($user_id);
bp_activity_add(array(
'action' => $user_fullname.' updated ' . $title . ':',
'component' => 'blog_post',
'type' => 'update_post',
'primary_link' => get_permalink($post_id),
'user_id' => $user_id,
'content' => $post->post_content
));
}
add_action('edit_post', 'buddypress_edit_blog_post');
现在站点范围的活动正在显示用户的新博客文章,但是,我仍然无法在个人活动流中看到它。我不明白,为什么会这样?我想知道哪段代码在管理个人活动流,我想知道它是如何工作的。
在我用 wp_get_current_user() 返回的局部变量 $user_id 替换全局 $user_id 之后,没有任何改变。这是我的代码的新版本:
function buddypress_edit_blog_post($post_id) {
global $bp; //, $user_id;
$user_id = wp_get_current_user();
$post = get_post($post_id);
$title = $post->post_title;
$user_fullname = bp_core_get_user_displayname($user_id);
bp_activity_add(array(
'action' => $user_fullname.' updated ' . $title . ':',
'component' => 'blog_post',
'type' => 'update_post',
'primary_link' => get_permalink($post_id),
'user_id' => $user_id,
'content' => $post->post_content
));
}
add_action('edit_post', 'buddypress_edit_blog_post');
谢谢。