group_management_add_user_permission
Filters whether a user is a group leader when adding a user to a group.
add_filter( 'group_management_add_user_permission', $callback, 10, 1 );
Description
Filters the permission required to add a user to a group. Developers can use this hook to customize the capability needed for group management operations, allowing for more granular control over user permissions beyond the default 'group_leader'.
Usage
add_filter( 'group_management_add_user_permission', 'your_function_name', 10, 1 );
Return Value
The filtered value.
Examples
/**
* Example function to modify the permission required to add users to groups.
*
* This filter allows administrators to specify a custom capability that users
* must possess in order to add members to a group. By default, it's 'group_leader'.
*
* @param string $permission The default capability required.
*
* @return string The modified capability required.
*/
function my_custom_group_add_user_permission( $permission ) {
// If the current user has the 'administrator' role, grant them permission
// regardless of the default 'group_leader' capability.
if ( current_user_can( 'administrator' ) ) {
return 'administrator'; // Administrators can always add users.
}
// Otherwise, return the original permission if no custom logic applies.
// This ensures the filter doesn't break existing functionality.
return $permission;
}
add_filter( 'group_management_add_user_permission', 'my_custom_group_add_user_permission', 10, 1 );
Placement
This code should be placed in the functions.php file of your active theme, a custom plugin, or using a code snippets plugin.
Source Code
src/includes/class-csv-user-upload.php:126
src/classes/reports/group-reports-interface.php:427
src/classes/reports/group-reports-interface.php:554
src/classes/helpers/rest-api-end-points.php:367
src/classes/helpers/rest-api-end-points.php:1223
private function validate_permissions() {
// Does the current user have permission
$permission = apply_filters( 'group_management_add_user_permission', 'group_leader' );
if ( ! current_user_can( $permission ) && ! current_user_can( 'manage_options' ) && ! current_user_can( 'ulgm_group_management' ) ) {
$data['message'] = __( 'You do not have permission to add users.', 'uncanny-learndash-groups' );
wp_send_json_error( $data );
}
}