Mettre à jour le niveau d'adhésion avec pmPro et wp-discourse

Ceci est la même fonction utilisée par [Simon Cossar] (https://meta.discourse.org/u/Simon_Cossar)équipe. Consultez ce lien :

Manage group membership in Discourse with WP Discourse SSO

J’ai utilisé la même fonction et j’ai besoin d’aide. J’ai également publié le code, veuillez consulter le message ci-dessus.
Voici mon code de mise à jour du niveau d’appartenance :
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 );

	// Supprime l'utilisateur.
    $result = DiscourseUtilities::remove_user_from_discourse_group( $user_id, $groupname );
    if ( ! empty( $result->success ) ) {
       // Supprime la clé de métadonnées du niveau d'appartenance.
        delete_user_meta( $user_id, "dcpmp_group_{$groupname}" );
    }
    
    $result1 = DiscourseUtilities::add_user_to_discourse_group( $user_id, $group_name );

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

        // Si l'utilisateur a été ajouté au groupe, ajoutez une paire clé/valeur de métadonnées qui pourra être utilisée ultérieurement.
        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 );