bp_groups_filter_activity_can_comment( bool $retval, null|BP_Activity_Activity $activity = null )
Function used to determine if a user can comment on a group activity item.
Description
Used as a filter callback to ‘bp_activity_can_comment’.
Parameters
- $retval
-
(Required) True if item can receive comments.
- $activity
-
(Optional) Null by default. Pass an activity object to check against that instead.
Default value: null
Return
(bool)
Source
File: bp-groups/bp-groups-activity.php
function bp_groups_filter_activity_can_comment( $retval, $activity = null ) {
// Bail if item cannot receive comments or if no current user.
if ( empty( $retval ) || ! is_user_logged_in() ) {
return $retval;
}
// Use passed activity object, if available.
if ( is_a( $activity, 'BP_Activity_Activity' ) ) {
$component = $activity->component;
$group_id = $activity->item_id;
// Use activity info from current activity item in the loop.
} else {
$component = bp_get_activity_object_name();
$group_id = bp_get_activity_item_id();
}
// If not a group activity item, bail.
if ( 'groups' !== $component ) {
return $retval;
}
// If current user is not a group member or is banned, user cannot comment.
if ( ! bp_current_user_can( 'bp_moderate' ) &&
( ! groups_is_user_member( bp_loggedin_user_id(), $group_id ) || groups_is_user_banned( bp_loggedin_user_id(), $group_id ) )
) {
$retval = false;
}
return $retval;
}
Changelog
| Version | Description |
|---|---|
| BuddyPress 3.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.