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 Description

Used as a filter callback to ‘bp_activity_can_comment’.


Top ↑

Parameters Parameters

$retval

(bool) (Required) True if item can receive comments.

$activity

(null|BP_Activity_Activity) (Optional) Null by default. Pass an activity object to check against that instead.

Default value: null


Top ↑

Return Return

(bool)


Source 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;
}


Top ↑

Changelog Changelog

Changelog
Version Description
3.0.0 Introduced.

Top ↑

User Contributed Notes User Contributed Notes

You must log in before being able to contribute a note or feedback.