Groups Admin – Add Custom Column

It can be very handy to see additional information about each group when viewing the Groups screen in wp-admin.

The necessary hooks are found in this file: buddypress/bp-groups/classes/class-bp-groups-list-table.php

This example will add a column to show the number of pending member requests to join each private group. If a group is public there can be no pending requests, so we’ll show a simple dash in that row.

// add the column
function groups_admin_add_custom_column( $columns ) {
	
    $columns["pending_group_members"] = "Join Requests";
	
    return $columns;

}
add_filter( "bp_groups_list_table_get_columns", "groups_admin_add_custom_column" );


// add the column data for each row
function groups_admin_custom_column_content( $retval = "", $column_name, $item ) {
	
	if ( "pending_group_members" !== $column_name ) {
		return $retval;
	}
	
	
	if ( "private" == $item["status"] ) {
		
		$user_ids = BP_Groups_Member::get_all_membership_request_user_ids( $item["id"] );
		
		return count( $user_ids );		
	}
	
	return "-";
	
}
add_filter( "bp_groups_admin_get_group_custom_column", "groups_admin_custom_column_content", 10, 3 );

This code can be placed in bp-custom.php .