bp_blogs_sync_delete_from_activity_comment( bool $retval, int $parent_activity_id, int $activity_id, bool $deleted )
Deletes the blog comment when the associated activity comment is deleted.
Description
Note: This is hooked on the ‘bp_activity_delete_comment_pre’ filter instead of the ‘bp_activity_delete_comment’ action because we need to fetch the activity comment children before they are deleted.
Parameters
- $retval
-
(Required) Whether BuddyPress should continue or not.
- $parent_activity_id
-
(Required) The parent activity ID for the activity comment.
- $activity_id
-
(Required) The activity ID for the pending deleted activity comment.
- $deleted
-
(Required) Whether the comment was deleted or not.
Return
(bool)
Source
File: bp-blogs/bp-blogs-activity.php
959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 | function bp_blogs_sync_delete_from_activity_comment( $retval , $parent_activity_id , $activity_id , & $deleted ) { // Check if parent activity is a blog post. $parent_activity = new BP_Activity_Activity( $parent_activity_id ); // if parent activity isn't a post type having the buddypress-activity support, stop now! if ( ! bp_activity_type_supports( $parent_activity ->type, 'post-type-comment-tracking' ) ) { return $retval ; } // Fetch the activity comments for the activity item. $activity = bp_activity_get( array ( 'in' => $activity_id , 'display_comments' => 'stream' , 'spam' => 'all' , ) ); // Get all activity comment IDs for the pending deleted item. $activity_ids = bp_activity_recurse_comments_activity_ids( $activity ); $activity_ids [] = $activity_id ; // Handle multisite // switch to the blog where the comment was made. switch_to_blog( $parent_activity ->item_id ); // Remove associated blog comments. bp_blogs_remove_associated_blog_comments( $activity_ids , current_user_can( 'moderate_comments' ) ); // Multisite again! restore_current_blog(); // Rebuild activity comment tree // emulate bp_activity_delete_comment(). BP_Activity_Activity::rebuild_activity_comment_tree( $parent_activity_id ); // Avoid the error message although the comments were successfully deleted $deleted = true; // We're overriding the default bp_activity_delete_comment() functionality // so we need to return false. return false; } |
Changelog
Version | Description |
---|---|
BuddyPress 2.5.0 Add the $delected parameter | BuddyPress 2.5.0 Add the $delected parameter |
BuddyPress 2.0.0 | Introduced. |
Questions?
We're always happy to help with code or other questions you might have! Search our developer docs, contact support, or connect with our sales team.