Я думаю, что простое решение можно реализовать, добавив этот компонент GitHub - discourse/discourse-groups-css-classes-in-body · GitHub, а затем применив некоторые CSS-трюки, например:
body.group-not-allowed-group.category-not-allowed-category #create-topic {
display: none;
}
где not-allowed-group — это группа, для которой нужно скрыть кнопку создания темы, а not-allowed-category — категория, на которую нужно ориентироваться. Вы можете использовать циклы следующим образом:
$categories: 'category1', 'category2', 'category3';
$groups: 'group1', 'group2', 'group3';
@each $category in $categories {
@each $group in $groups {
body.group-#{$group}.category-#{$category} #create-topic {
display: none;
}
}
}
Конечно, если вы пойдёте этим путём, вероятно, проще создать пользовательский компонент темы с настройками списка для групп и категорий, чтобы их было легко выбирать и т. д.