كيف يمكنني الوصول إلى حقول مخصصة في مكون سمة؟

في ‘Our solution for blurring NSFW content’، استخدمتُ كودًا صغيرًا للوصول إلى قيمة حقل مستخدم. يبدو أن هذا لم يعد يعمل — فـ u.custom_fields لم تعد تحتوي على أي بيانات:

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

لقد قمتُ بتحديث النظام إلى الإصدار الأحدث واختبرتُ الوضع الآمن، لكن المشكلة لا تزال قائمة:

هل حدث أي تغيير في هذه الواجهة؟ ما هي الطريقة الموصى بها للوصول إلى حقول المستخدمين؟

اختبرتُ هذا على الإصدار الأحدث، وفي الوضع الآمن مع تعطيل جميع الإضافات والمواضيع.

يمكنك تجربة شيء مثل هذا:

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

راجع استخدام PluginAPI في تخصيصات الموقع للحصول على تفاصيل حول نوع السكربت "text/discourse-plugin".