이것은 커스텀 사용자 그룹에 대해 작동하는 것 같습니다:
<script type="text/discourse-plugin" version="0.8">
api.reopenWidget("post-menu", {
menuItems() {
const user = Discourse.User.current();
if(user.primary_group_name.toLowerCase() === "no_likes") {
return this.siteSettings.post_menu
.split("|")
.filter((item) => item !== "like");
}
return this.siteSettings.post_menu.split("|").filter(Boolean);
},
});
</script>
하지만 사람들이 그룹에 가입하도록 하는 대신 커스텀 사용자 필드 불리언 값을 확인하는 방식으로 처리할 수 있는지 확인해 보고 싶습니다. 어떻게 해야 하는지 아이디어를 얻기 위해 다른 플러그인들을 살펴보고 있지만, 지금까지 시도한 모든 것이 작동하지 않았습니다.
ETA: 이것은 작동하는 것 같습니다. 다만 사용자 필드 불리언 값을 체크하거나 해제한 후 새로고침을 해야 합니다.
<script type="text/discourse-plugin" version="0.8">
api.reopenWidget("post-menu", {
menuItems() {
const user = Discourse.User.current();
if(user.custom_fields['user_field_10']) {
return this.siteSettings.post_menu
.split("|")
.filter((item) => item !== "like");
}
return this.siteSettings.post_menu.split("|").filter(Boolean);
},
});
</script>