Skip to content

Instantly share code, notes, and snippets.

@jonasnick
Last active October 17, 2022 20:36
Show Gist options
  • Save jonasnick/6125869 to your computer and use it in GitHub Desktop.
Save jonasnick/6125869 to your computer and use it in GitHub Desktop.
Blog Comments in Activity (bca) Shows blog post comments in buddypress' activity stream. Does currently not keep track of editing or removing comments.
<?php
/*
* Blog Comments in Buddypress Activity
* WARNING: Test thoroughly if it works in your environment before using in production code.
* LICENSE: Public domain
*/
/*
* When a new comment gets added to the database, add this comment to the
* activity stream
*/
function bca_record_activity($comment_id, $approval) {
if($approval == 1) {
$comment = get_comment($comment_id);
$userlink = bp_core_get_userlink($comment->user_id);
$postlink = '<a href="' . get_permalink($comment->comment_post_ID) . '">'
. get_the_title($comment->comment_post_ID) . '</a>';
bp_activity_add(array(
'action' => sprintf( __( '%1$s commented on the post, %2$s', 'buddypress' ),
$userlink, $postlink),
'content' => $comment->comment_content,
'component' => 'bp_plugin',
'user_id' => $comment->user_id,
'type' => 'new_blog_comment',
));
}
}
//comment_post is triggered "just after a comment is saved in the database".
add_action('comment_post', 'bca_record_activity', 10, 2);
/*
* We want activity entries of blog comments to be shown as "mini"-entries
*/
function bca_minify_activity($array) {
$array[] = 'new_blog_comment';
return $array;
}
add_filter('bp_activity_mini_activity_types', 'bca_minify_activity');
/*
* Disables comments on this type of activity entry
*/
function bca_remove_commenting($can_comment) {
if($can_comment == true) {
$can_comment = ! ('new_blog_comment' == bp_get_activity_action_name());
}
return $can_comment;
}
add_filter('bp_activity_can_comment', 'bca_remove_commenting');
?>
@shuffless
Copy link

Where do you put this piece of code?

@mattker
Copy link

mattker commented Mar 11, 2015

@shuffless You add this code to the file bp-custom.php in the /wp-content/plugins/ folder

Also - if I didn't want to disable the comments... how would I do that?

@thenetking
Copy link

Thank you so much. I looked for this for hours, days even. Buddypress is a great piece of code for the most part but omg trying to find info on how to manipulate it is ridiculous.

@richardfoley
Copy link

Kudos for a fine snippet of functionally useful code!

@King-Ding
Copy link

Very useful! Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment