맞습니다. 위젯 시스템을 교체했기 때문에 이 코드는 이제 구식이 되었습니다. 지난 해에 그와 관련하여 공유된 정보는 다음과 같습니다: Upcoming post stream changes - How to prepare themes and plugins .
여전히 이 기능을 작동시킬 수는 있지만, Glimmer 컴포넌트를 사용해야 합니다. 다음과 같은 형태로 작성할 수 있습니다:
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);
});
이 코드에서 user_field_4를 표시하려는 실제 필드와 일치시켜야 한다는 점을 기억하세요.
모든 public user custom fields를 표시하도록 이 코드를 수정하는 것은 다른 분들에게 맡기겠습니다. ![]()