bp_group_is_user_banned( BP_Groups_Group|bool $group = false, int $user_id )
Check if a user is banned from a group.
Description
If this function is invoked inside the groups template loop, then we check $groups_template->group->is_banned instead of using groups_is_user_banned() and making another SQL query.
In BuddyPress 2.1, to standardize this function, we are defaulting the return value to a boolean. In previous versions, using this function would return either a string of the integer (0 or 1) or null if a result couldn’t be found from the database. If the logged-in user had the ‘bp_moderate’ capability, the return value would be boolean false.
Parameters
- $group
-
(Optional) Group to check if user is banned.
Default value: false
- $user_id
-
(Required) The user ID to check.
Return
(bool) True if user is banned. False if user isn't banned.
Source
File: bp-groups/bp-groups-template.php
function bp_group_is_user_banned( $group = false, $user_id = 0 ) {
global $groups_template;
// Site admins always have access.
if ( bp_current_user_can( 'bp_moderate' ) ) {
return false;
}
// Check groups loop first
// @see BP_Groups_Group::get_group_extras().
if ( ! empty( $groups_template->in_the_loop ) && isset( $groups_template->group->is_banned ) ) {
$retval = $groups_template->group->is_banned;
// Not in loop.
} else {
// Default to not banned.
$retval = false;
if ( empty( $group ) ) {
$group = $groups_template->group;
}
if ( empty( $user_id ) ) {
$user_id = bp_loggedin_user_id();
}
if ( ! empty( $user_id ) && ! empty( $group->id ) ) {
$retval = groups_is_user_banned( $user_id, $group->id );
}
}
/**
* Filters whether current user has been banned from current group in loop.
*
* @since BuddyPress 1.5.0
* @since BuddyPress 2.5.0 Added the `$group` parameter.
*
* @param bool $is_invited If user has been from current group.
* @param object $group Group object.
*/
return (bool) apply_filters( 'bp_group_is_user_banned', $retval, $group );
}
Changelog
| Version | Description |
|---|---|
| BuddyPress 1.5.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.