BP_Activity_List_Table::can_comment( array $item )
Checks if an activity item can be replied to.
Description
This method merges functionality from bp_activity_can_comment() and bp_blogs_disable_activity_commenting(). This is done because the activity list table doesn’t use a BuddyBoss activity loop, which prevents those functions from working as intended.
Parameters
- $item
-
(Required) An array version of the BP_Activity_Activity object.
Return
(bool) $can_comment
Source
File: bp-activity/classes/class-bp-activity-list-table.php
protected function can_comment( $item ) { $can_comment = bp_activity_type_supports( $item['type'], 'comment-reply' ); if ( ! $this->disable_blogforum_comments && bp_is_active( 'blogs' ) ) { $parent_activity = false; if ( bp_activity_type_supports( $item['type'], 'post-type-comment-tracking' ) ) { $parent_activity = (object) $item; } elseif ( 'activity_comment' === $item['type'] ) { $parent_activity = new BP_Activity_Activity( $item['item_id'] ); $can_comment = bp_activity_can_comment_reply( (object) $item ); } if ( isset( $parent_activity->type ) && bp_activity_post_type_get_tracking_arg( $parent_activity->type, 'post_type' ) ) { // Fetch blog post comment depth and if the blog post's comments are open. bp_blogs_setup_activity_loop_globals( $parent_activity ); $can_comment = bp_blogs_can_comment_reply( true, $item ); } } /** * Filters if an activity item can be commented on or not. * * @since BuddyPress 2.0.0 * @since BuddyPress 2.5.0 Add a second parameter to include the activity item into the filter. * * @param bool $can_comment Whether an activity item can be commented on or not. * @param array $item An array version of the BP_Activity_Activity object. */ return apply_filters( 'bp_activity_list_table_can_comment', $can_comment, $item ); }
Changelog
Version | Description |
---|---|
BuddyPress 2.5.0 Include Post type activities types | BuddyPress 2.5.0 Include Post type activities types |
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.