このコードが現在非推奨であることはごもっともです。ウィジェットシステムを置き換えたためです。昨年からの情報はこちらで確認できます: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 を表示したい実際のフィールドと一致させる必要があることを忘れないでください。
「すべての公開ユーザーカスタムフィールド」を表示できるように修正するのは他の人に任せます。 ![]()