在顶级分类中隐藏“新建话题”

我们希望在存在子分类的情况下,隐藏顶级分类中的“+新建主题”按钮。我找到了一篇帖子,展示了如何隐藏主分类屏幕上的“+新建主题”按钮,但该按钮在顶级分类屏幕上仍然显示。

当创建了子分类时,我们不允许用户向顶级分类发布内容,因此不需要“+新建主题”按钮。

有人之前做过类似的操作吗?

感谢您的帮助。

I don’t think there is a built in way, but you can achieve this with some simple CSS.

Edit!

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;
    }
}
More involved way

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.

感谢您的帮助。我们可能有一些顶级分类及其子分类是允许发帖的。更复杂的方法完全满足了我的需求。