Comment accéder aux champs personnalisés dans un composant de thème ?

Dans « Our solution for blurring NSFW content », j’ai utilisé le bout de code suivant pour accéder à la valeur d’un champ utilisateur. Cela ne semble plus fonctionner : u.custom_fields ne contient plus aucune donnée :

var u = Discourse.User.current();
if (u.custom_fields.user_field_2) {
    $('body').addClass('nsfw-always-show' );
}

Je viens de mettre à jour vers la dernière version et j’ai testé en mode sécurisé, mais le problème persiste :

Quelque chose a-t-il changé dans cette interface ? Quelle est la méthode recommandée pour accéder aux champs utilisateur ?

J’ai testé cela sur la dernière version, et en mode sécurisé avec tous les plugins et thèmes désactivés.

Vous pouvez essayer quelque chose comme ceci :

<script type="text/discourse-plugin" version="0.8.27">
let currentUser = api.getCurrentUser();

if (currentUser) {
        api.container.lookup('store:main').find('user', currentUser.username).then((user) => {
        console.log('user', user.user_fields);
    });
}
</script>

Consultez Utiliser l’API des plugins dans les personnalisations du site pour plus de détails sur le type de script "text/discourse-plugin".