Actualizar nivel de membresía con pmpro y wp-discourse

esta es la misma función utilizada por [Simon Cossar] (https://meta.discourse.org/u/Simon_Cossar)equipo consulta este enlace

Manage group membership in Discourse with WP Discourse SSO

he utilizado la misma función, necesito ayuda. También he publicado el código, consulta el mensaje anterior.
Este es mi código de actualización de nivel de membresía:
function action_pmpro_after_change_membership_level( $level_id, $user_id, $cancel_level ) {

	$group_name = dcpmp_get_level_for_id( $level_id );
	if ( is_wp_error( $group_name ) ) {

		return null;
	}
	$groupname = DiscourseUtilities::get_discourse_user( $user_id, false );

	// Elimina al usuario.
    $result = DiscourseUtilities::remove_user_from_discourse_group( $user_id, $groupname );
    if ( ! empty( $result->success ) ) {
       // Elimina la clave de metadatos del nivel de membresía.
        delete_user_meta( $user_id, "dcpmp_group_{$groupname}" );
    }
    
    $result1 = DiscourseUtilities::add_user_to_discourse_group( $user_id, $group_name );

    if ( ! empty( $result1->success ) ) {

        // Si el usuario ha sido añadido al grupo, añade un par clave/valor de metadatos que se pueda utilizar más adelante.
        add_user_meta( $user_id, "dcpmp_group_{$group_name}", 1, true );
    }

return $result;
return $result1;

}
add_action( ‘pmpro_after_change_membership_level’, ‘action_pmpro_after_change_membership_level’, 10, 3 );