bp_activity_get_comment_depth( object|int $comment )
Return the current activity comment depth.
Description
Parameters
- $comment
-
(Required) Object of the activity comment or activity comment ID. Usually unnecessary when used in activity comment loop.
Return
(int)
Source
File: bp-activity/bp-activity-template.php
function bp_activity_get_comment_depth( $comment = 0 ) { $depth = 0; // Activity comment loop takes precedence. if ( isset( $GLOBALS['activities_template']->activity->current_comment->depth ) ) { $depth = $GLOBALS['activities_template']->activity->current_comment->depth; // Get depth for activity comment manually. } elseif ( ! empty( $comment ) ) { // We passed an activity ID, so fetch the activity object. if ( is_int( $comment ) ) { $comment = new BP_Activity_Activity( $comment ); } // Recurse through activity tree to find the depth. if ( is_object( $comment ) && isset( $comment->type ) && 'activity_comment' === $comment->type ) { // Fetch the entire root comment tree... ugh. $comments = BP_Activity_Activity::get_activity_comments( $comment->item_id, 1, constant( 'PHP_INT_MAX' ) ); // Recursively find our comment object from the comment tree. $iterator = new RecursiveArrayIterator( $comments ); $recursive = new RecursiveIteratorIterator( $iterator, RecursiveIteratorIterator::SELF_FIRST ); foreach ( $recursive as $cid => $cobj ) { // Skip items that are not a comment object. if ( ! is_numeric( $cid ) || ! is_object( $cobj ) ) { continue; } // We found the activity comment! Set the depth. if ( $cid === $comment->id && isset( $cobj->depth ) ) { $depth = $cobj->depth; break; } } } } /** * Filters the comment depth of the current activity comment. * * @since BuddyPress 2.0.0 * * @param int $depth Depth for the current activity comment. */ return apply_filters( 'bp_activity_get_comment_depth', $depth ); }
Changelog
Version | Description |
---|---|
BuddyPress 2.8.0 Added $comment as a parameter. | BuddyPress 2.8.0 Added $comment as a 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.