Wie greife ich in einer Theme-Komponente auf Custom Fields zu?

In ‘Our solution for blurring NSFW content’ habe ich folgenden Code verwendet, um auf den Wert eines Benutzerfelds zuzugreifen. Dies scheint nicht mehr zu funktionieren – u.custom_fields enthält keine Daten mehr:

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

Ich habe gerade auf die neueste Version aktualisiert und im abgesicherten Modus getestet, aber das Problem besteht weiterhin:

Hat sich etwas an dieser Schnittstelle geändert? Was ist die empfohlene Methode zum Zugriff auf Benutzerfelder?

Ich habe dies auf der neuesten Version und im abgesicherten Modus getestet, wobei alle Plugins und Themes deaktiviert waren.

Du könntest etwas wie Folgendes versuchen:

<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>

Weitere Details zum Skripttyp "text/discourse-plugin" findest du unter Verwendung der PluginAPI in Site-Anpassungen.