サブカテゴリが存在するトップレベルのカテゴリで「+新規トピック」ボタンを非表示にしたいと考えています。メインカテゴリ画面では「+新規トピック」ボタンを非表示にする方法を示す投稿を見つけたのですが、トップレベルのカテゴリ画面ではまだ表示されたままです。
サブカテゴリを作成している場合、トップレベルのカテゴリへのユーザー投稿を許可していないため、「+新規トピック」ボタンは不要です。
これまでに同様の対応をした方はいますか?
ご協力ありがとうございます。
サブカテゴリが存在するトップレベルのカテゴリで「+新規トピック」ボタンを非表示にしたいと考えています。メインカテゴリ画面では「+新規トピック」ボタンを非表示にする方法を示す投稿を見つけたのですが、トップレベルのカテゴリ画面ではまだ表示されたままです。
サブカテゴリを作成している場合、トップレベルのカテゴリへのユーザー投稿を許可していないため、「+新規トピック」ボタンは不要です。
これまでに同様の対応をした方はいますか?
ご協力ありがとうございます。
I don’t think there is a built in way, but you can achieve this with some simple CSS.
I think it’s even less involved than what I describe below if you are applying it to ALL top level categories. Try adding this to your theme’s Common CSS first:
// Remove the New Topic button from all top-level categories
.categories-list:not(.navigation-categories) {
button#create-topic{
display: none;
}
}
First you’ll need to find the category slug of the top-level categories (Note: This is strictly for top-level categories. Sub-categories are a little different.)
For example, if we take the URL for the support category here on Meta: https://meta.discourse.org/c/support
The slug is whatever is after the /c/part of the URL. In this case it’s support. If your category has multiple words in it, it will have dashes like questions-and-answers
The CSS will be looking for a class that starts with category- and continues with the slug of the top-level category. So for the above examples, you would use category-support and category-questions-and-answers
So with that in mind, you can customize the following CSS to fit your needs, and add it to the Common CSS section of your theme:
.category-forum,
.category-support,
.category-questions-and-answers {
button#create-topic {
display: none;
}
}
You can add more to the top of the list, just be sure to include period at the beginning and the comma at the end.
If you’ve never worked with CSS, this might be a little confusing, so feel free to ask for any further clarification.
ご協力ありがとうございます。投稿が許可されているサブカテゴリを持つトップレベルのカテゴリがあるかもしれません。より詳細な方法が、私の必要を完全に満たしてくれました。