ブログ投稿 (wp-post) は、buddypress のインストールですぐにアクティビティ ストリームに表示されませんでした。そこで、bp-acitivity-actions.php に次のコードを追加しました。$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');
現在、サイト全体のアクティビティにはユーザーの新しいブログ投稿が表示されていますが、個人のアクティビティ ストリームにはまだ表示されません。わかりません、なぜこれが起こるのですか?また、どのコードが個人のアクティビティ ストリームを管理しているかを知りたいです。それがどのように機能するかを知りたいのです。
そして、グローバル $user_id を wp_get_current_user() によって返されるローカル変数 $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');
ありがとう。