Esto parece funcionar para el grupo de usuarios personalizado:
<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>
Pero aún me gustaría ver si hay una manera de hacerlo para que verifique el campo booleano personalizado del usuario en lugar de obligar a las personas a unirse a un grupo. He estado revisando otros complementos para tener una idea de cómo hacerlo, pero todo lo que he probado hasta ahora no ha funcionado.
ETA: Esto parece funcionar, pero necesitas recargar la página después de marcar o desmarcar el campo booleano del usuario.
<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>