Sie haben Recht, dass dieser Code jetzt veraltet ist, da wir das Widget-System ersetzt haben. Hier sind einige Informationen dazu von letztem Jahr: Upcoming post stream changes - How to prepare themes and plugins .
Es ist immer noch möglich, dies zum Laufen zu bringen, aber Sie müssen eine Glimmer-Komponente verwenden. Sie könnte ungefähr so aussehen:
import Component from "@glimmer/component";
import { apiInitializer } from "discourse/lib/api";
class UserFieldBadge extends Component {
static shouldRender(args) {
return !!args.post?.user_custom_fields?.user_field_4;
}
<template>
<span class="poster-user-field">
{{@post.user_custom_fields.user_field_4}}
</span>
</template>
}
export default apiInitializer((api) => {
api.renderAfterWrapperOutlet("post-meta-data-poster-name", UserFieldBadge);
});
Denken Sie daran, dass Sie user_field_4 in diesem Code an das tatsächliche Feld anpassen müssen, das Sie anzeigen möchten.
Ich überlasse es anderen, dies so zu ändern, dass es ALLE public user custom fields anzeigen kann. ![]()