No puedo añadir un usuario al foro de Discourse desde un sitio web de WordPress cuando el usuario se ha añadido en una membresía

Hola @simon, aquí tienes mi código que utilizo cuando cambia el rol de un usuario

use WPDiscourse\\Utilities\\Utilities as DiscourseUtilities;

// Hook para ejecutar cuando cambia el rol de un usuario
add_action('set_user_role', 'add_user_to_discourse_group_on_role_change', 10, 2);

function add_user_to_discourse_group_on_role_change($user_id, $role) {
// 	var_dump($role);
// 	die();
	  if ($role == 's2member_level1') {
            $s2member_level_1_groups = get_option('s2member_level_1_groups', '');
// 		  	$group_names = array("haseeb-group", "moderators");
// 			$s2member_level_1_groups = implode(",", $group_names);
            $result = DiscourseUtilities::add_user_to_discourse_group($user_id, $s2member_level_1_groups);
// 		  var_dump($result);
// 		  die();
		  	
// 			var_dump($result);
        }
		else if($role == 's2member_level2'){
			   $s2member_level_2_groups = get_option('s2member_level_2_groups', '');
			  $result = DiscourseUtilities::add_user_to_discourse_group($user_id, $s2member_level_2_groups);
		}
		
		else if($role == 's2member_level3'){
			   $s2member_level_3_groups = get_option('s2member_level_3_groups', '');
			  $result = DiscourseUtilities::add_user_to_discourse_group($user_id, $s2member_level_3_groups);
		}
	
		
		else if($role == 's2member_level4'){
			   $s2member_level_4_groups = get_option('s2member_level_4_groups', '');
			  $result = DiscourseUtilities::add_user_to_discourse_group($user_id, $s2member_level_4_groups);
		}
		
		else {
    // Recopilar todos los grupos de nivel
    $s2member_level_1_groups = get_option('s2member_level_1_groups', '');
    $s2member_level_2_groups = get_option('s2member_level_2_groups', '');
    $s2member_level_3_groups = get_option('s2member_level_3_groups', '');
    $s2member_level_4_groups = get_option('s2member_level_4_groups', '');

    // Combinar todos los grupos en un solo array
    $s2member_level_groups = array_merge(
        explode(',', $s2member_level_1_groups),
        explode(',', $s2member_level_2_groups),
        explode(',', $s2member_level_3_groups),
        explode(',', $s2member_level_4_groups)
    );

    // Eliminar duplicados
    $s2member_level_groups = array_unique($s2member_level_groups);

    // Eliminar al usuario de todos los grupos recopilados
    foreach ($s2member_level_groups as $group) {
        $result = DiscourseUtilities::remove_user_from_discourse_group($user_id, $group);
        // Puedes manejar $result según sea necesario
    }
}


    
}

Ahora, el propósito del código es agregar o eliminar un usuario según una condición, pero en cualquier caso o condición, notifica a los administradores del foro que se necesita aprobar, rechazar o eliminar al usuario. ¿Por qué sucede esto en cualquier caso? Por ejemplo, en el caso else, solo quiero eliminar al usuario de un grupo específico, pero en ese caso, todavía aparece una notificación de “revisar nuevo usuario” para el administrador.

Una cosa más: cuando un usuario se registra en el sitio web de WordPress, se agrega automáticamente a estos grupos trust_level_0 y trust_level_1, no sé por qué.

Por favor, ayúdame, también puedo compartir contigo el hook de registro de usuarios.