BP_Activity_Activity::rebuild_activity_comment_tree( int $parent_id, int $left = 1 )
Rebuild nested comment tree under an activity or activity comment.
Description
Parameters
- $parent_id
-
(Required) ID of an activity or activity comment.
- $left
-
(Optional) Node boundary start for activity or activity comment.
Default value: 1
Return
(int) Right Node boundary of activity or activity comment.
Source
File: bp-activity/classes/class-bp-activity-activity.php
public static function rebuild_activity_comment_tree( $parent_id, $left = 1 ) { global $wpdb; $bp = buddypress(); // The right value of this node is the left value + 1. $right = intval( $left + 1 ); // Get all descendants of this node. $comments = BP_Activity_Activity::get_child_comments( $parent_id ); $descendants = wp_list_pluck( $comments, 'id' ); // Loop the descendants and recalculate the left and right values. foreach ( (array) $descendants as $descendant_id ) { $right = BP_Activity_Activity::rebuild_activity_comment_tree( $descendant_id, $right ); } // We've got the left value, and now that we've processed the children // of this node we also know the right value. if ( 1 === $left ) { $wpdb->query( $wpdb->prepare( "UPDATE {$bp->activity->table_name} SET mptt_left = %d, mptt_right = %d WHERE id = %d", $left, $right, $parent_id ) ); } else { $wpdb->query( $wpdb->prepare( "UPDATE {$bp->activity->table_name} SET mptt_left = %d, mptt_right = %d WHERE type = 'activity_comment' AND id = %d", $left, $right, $parent_id ) ); } // Return the right value of this node + 1. return intval( $right + 1 ); }
Changelog
Version | Description |
---|---|
BuddyPress 1.2.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.