# 最新主题中隐藏类别功能已失效

**URL:** <https://meta.discourse.org/t/suppress-category-from-latest-topics-gone/133894>\
**Category:** Support\
**Created:** [2019年十一月20日 08:46 UTC](https://meta.discourse.org/t/suppress-category-from-latest-topics-gone/133894 "2019-11-20T08:46:38Z")\
**Posts on this page:** 20\
**Page:** 4

<div class="post-metadata">

**Author:** ![Dmitry\_Krasnoperov](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/dmitry_krasnoperov/32/65079_2.png) [@Dmitry\_Krasnoperov](https://meta.discourse.org/u/Dmitry_Krasnoperov)\
**Post date:** [2019年十二月10日 19:52 UTC](https://meta.discourse.org/t/suppress-category-from-latest-topics-gone/133894/64 "2019-12-10T19:52:47Z")

</div>

> [@pfaffman](#):
>
> 这是否只是在站点设置中将这些分类添加到“默认隐藏的分类”中，而不是在分类页面上进行控制？

你好，这两者并不等价，我们上面已经给出了很多示例。  
公平起见，您应该明确说明您不会撤销此选项，或者至少给出某种明确的表态。

我认为可能有几位甚至数十位管理员或社区管理员仍在等待。

---

<div class="post-metadata">

**Author:** ![sam](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/sam/32/102149_2.png) [@sam](https://meta.discourse.org/u/sam)\
**Post date:** [2019年十二月10日 20:45 UTC](https://meta.discourse.org/t/suppress-category-from-latest-topics-gone/133894/66 "2019-12-10T20:45:23Z")

</div>

> [@pfaffman](#):
>
> 哦，但这不适用于匿名用户？

这确实适用于匿名用户。

这场风波的核心在于，一些网站要求特定的呈现精度。

它们希望“最新主题列表”看起来“恰到好处”，并且不允许最终用户自行调整这种“恰到好处”的样式。

就 @Heather_Dudley 和 @ClawdiaWolf 的情况而言，这可能会给最终用户带来问题。此前，主页上屏蔽了所有“区域”类别，因为有 400 个区域，信息过于杂乱。

但像悉尼这样的用户呢？为什么他们不能在主页上看到来自悉尼的主题？

为了解决这个问题，我们现在允许网站采用一种新模式：默认隐藏所有内容，然后由版主选择将哪些类别设为“默认显示”。这样未来维护起来会容易得多。当你添加一个新类别时，无需进行额外操作，用户若愿意，仍可关注悉尼相关主题。

我认为，最终我们会提供插件钩子，供那些希望从上层进行严格规定的人使用，以控制哪些主题绝不允许出现在“最新主题列表”中。

---

<div class="post-metadata">

**Author:** ![j127](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/j127/32/79093_2.png) [@j127](https://meta.discourse.org/u/j127)\
**Post date:** [2019年十二月10日 21:11 UTC](https://meta.discourse.org/t/suppress-category-from-latest-topics-gone/133894/67 "2019-12-10T21:11:26Z")

</div>

这是否意味着我们无法修复我们的外语版块？

目前，这些分类已从“分类”页面中隐藏，外语帖子却出现在“最新”中，而该页面本应仅显示英文内容。我不确定用户是否不再收到外语版块的通知。

即使我进入父级“非英语”分类（似乎用户无法发现该分类），那里也只列出了其中一个语言子分类（荷兰语）——其他语言分类都已消失。

奇怪的是，如果我在某个语言分类中发帖，该帖子仍会出现在 `/latest` 中，尽管该分类页面本身已不存在。

是否还有办法在不屏蔽帖子的情况下，让它们不出现在首页？

---

<div class="post-metadata">

**Author:** ![sam](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/sam/32/102149_2.png) [@sam](https://meta.discourse.org/u/sam)\
**Post date:** [2019年十二月10日 21:13 UTC](https://meta.discourse.org/t/suppress-category-from-latest-topics-gone/133894/68 "2019-12-10T21:13:54Z")

</div>

> [@j127](#):
>
> 除了静音之外，还有其他方法可以让话题不显示在首页吗？

我仍然不太明白。

假设你默认静音“法语”：

- “法语”话题不会出现在匿名用户和所有用户的首页上

- “法语”用户仍可在用户偏好设置中取消静音，并在首页看到该分类

---

<div class="post-metadata">

**Author:** ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)\
**Post date:** [2019年十二月10日 21:15 UTC](https://meta.discourse.org/t/suppress-category-from-latest-topics-gone/133894/69 "2019-12-10T21:15:52Z")

</div>

我目前看到的这个网站唯一的问题是，除非你在偏好设置中找到它，或者有一个主题（或标题链接等）链接到法语分类，否则无法知道存在一个可以取消静音的法语分类。

---

<div class="post-metadata">

**Author:** ![j127](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/j127/32/79093_2.png) [@j127](https://meta.discourse.org/u/j127)\
**Post date:** [2019年十二月10日 21:18 UTC](https://meta.discourse.org/t/suppress-category-from-latest-topics-gone/133894/70 "2019-12-10T21:18:05Z")

</div>

抱歉，我对这次变更的具体影响有些困惑。之前用户访问 `/categories` 时，会看到外语分类列表。现在这些分类消失了，我不确定如何将其重新添加到分类列表中。不过，这些分类下的帖子不应出现在 `/latest` 中，因为“最新”页面仅针对英文帖子。

---

<div class="post-metadata">

**Author:** ![sam](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/sam/32/102149_2.png) [@sam](https://meta.discourse.org/u/sam)\
**Post date:** [2019年十二月10日 21:20 UTC](https://meta.discourse.org/t/suppress-category-from-latest-topics-gone/133894/71 "2019-12-10T21:20:04Z")

</div>

嗯……或许可以为用户提供一个偏好设置选项：

“在分类列表中隐藏已静音的分类”？默认关闭。类似这样的功能。

这样，等你熟悉操作后，就可以开启它。

这是否能 100% 解决围绕新改动引发的所有抱怨？

---

<div class="post-metadata">

**Author:** ![j127](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/j127/32/79093_2.png) [@j127](https://meta.discourse.org/u/j127)\
**Post date:** [2019年十二月10日 21:32 UTC](https://meta.discourse.org/t/suppress-category-from-latest-topics-gone/133894/72 "2019-12-10T21:32:43Z")

</div>

有些奇怪。当我使用管理员账号访问父类别（`/c/non-english`）时，只看到“Nederlands”类别（最新添加的类别）。如果我以管理员账号访问 `/categories`，非英语类别并不在其中。

当我使用测试账号（TL0）登录时，我可以在 `/categories` 和 `/c/non-english` 页面上看到全部 9 个非英语类别。

不过，我在非英语类别中发布的测试帖子却出现在了 `/latest` 页面，而该页面本应仅显示英语内容。

编辑：无论是管理员还是 TL0 用户，在发帖后话题状态都被设置为“关注”，我没有看到“静音”选项。

---

<div class="post-metadata">

**Author:** ![sam](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/sam/32/102149_2.png) [@sam](https://meta.discourse.org/u/sam)\
**Post date:** [2019年十二月10日 23:08 UTC](https://meta.discourse.org/t/suppress-category-from-latest-topics-gone/133894/73 "2019-12-10T23:08:14Z")

</div>

未遵循。

“静音类别”指的是默认状态，用户仍可通过覆盖该类别的默认设置来跟踪和关注其中的任何主题。

---

<div class="post-metadata">

**Author:** ![Stephen](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/stephen/32/95011_2.png) [@Stephen](https://meta.discourse.org/u/Stephen)\
**Post date:** [2019年十二月10日 23:55 UTC](https://meta.discourse.org/t/suppress-category-from-latest-topics-gone/133894/74 "2019-12-10T23:55:35Z")

</div>

> [@sam](#):
>
> 这是否 100% 解决了围绕新变更的投诉？

不，因为静音后，一旦用户与某些话题互动，这些特定话题仍会出现在 /latest 中。

旧方法允许站点管理员在他们认为必要的地方设置分区。静音功能虽然早已存在，但如上帖文所示，其实现方式要混乱得多。

过去有“从最新列表中隐藏此分类”的选项，现在将变为：

- 分类级别的静音设置
- 用户级别的静音设置
- 用户级别的可见性设置

如果要真正还原原有行为，我们需要额外增加一个设置，以防止来自已静音分类的帖子重新出现在“最新”列表中。因为正如我们所见，一些站点管理员有特定的使用场景，这种功能是有益的。

我正在进行的一个项目将因这个问题而暂时搁置。客户希望使用 Discourse 进行内部协作，并需要隐藏某些分类，因为这些分类中包含尚未公布的游戏标题讨论以及“离题”内容。他们_非常认可_“从最新列表中隐藏”这一行为带来的效果：即使工作人员在这些分类中参与了话题讨论，话题标题也不会显示在 /（即最新列表）页面上，这意味着用户必须主动前往这些分类才能找到相关内容。目前，我的建议仍然是让他们使用另一个独立的实例来实现同样的隔离效果。

“分类的默认状态”指的是来自特定分类的话题的默认状态，该状态在用户与其互动后可以被覆盖。上述所有假设都基于这种行为始终是可取的，但观察多用途实例的情况来看，事实并非如此。

---

<div class="post-metadata">

**Author:** ![sam](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/sam/32/102149_2.png) [@sam](https://meta.discourse.org/u/sam)\
**Post date:** [2019年十二月11日 00:07 UTC](https://meta.discourse.org/t/suppress-category-from-latest-topics-gone/133894/75 "2019-12-11T00:07:16Z")

</div>

> [@Stephen](#):
>
> 如果你要真正还原原始行为，我们需要一个额外的设置，以防止被静音分类中的帖子重新出现在“最新”列表中。因为我们已经看到，有些站点管理员有实际用例，在这种情况下这样做是有利的。

对此我存在一些根本性的不同意见。如果用户明确地追踪或关注某个话题，这就发出了一个非常强烈的信号，表明他们确实关心该话题并希望它出现在“最新”列表中。如果他们不希望它出现在“最新”列表中，随时可以将其改回普通状态，不是吗？

> [@Stephen](#):
>
> 一个用于静音的分类设置

我不太明白这一点。

我在此提出的只是一个用户选项：

“我绝对、完全、永远不关心被静音的分类，也永远不想看到它们”，也就是“我极度讨厌政治话题”。

与

“我通常不关心被静音的分类，但我仍希望偶尔浏览它们，因此请将它们保留在我的下拉菜单和分类列表中”。

---

<div class="post-metadata">

**Author:** ![sam](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/sam/32/102149_2.png) [@sam](https://meta.discourse.org/u/sam)\
**Post date:** [2019年十二月11日 00:20 UTC](https://meta.discourse.org/t/suppress-category-from-latest-topics-gone/133894/76 "2019-12-11T00:20:09Z")

</div>

> [@Stephen](#):
>
> _类别的默认状态_ 指的是源自特定类别的帖子的默认状态，用户与其交互时可以覆盖该状态。上述所有讨论都基于一个假设，即这种行为总是可取的，但观察多用途实例的情况，似乎并非如此。

难道更简单且更一致的做法不是直接修改规则，确保我们永远不会在已静音的类别中自动追踪帖子吗？在我看来，这似乎是更好的默认设置。

---

<div class="post-metadata">

**Author:** ![Stephen](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/stephen/32/95011_2.png) [@Stephen](https://meta.discourse.org/u/Stephen)\
**Post date:** [2019年十二月11日 00:24 UTC](https://meta.discourse.org/t/suppress-category-from-latest-topics-gone/133894/77 "2019-12-11T00:24:37Z")

</div>

最终，你往往会构建出大家早已使用过的相同功能，却将其访问权限隐藏在五六个其他偏好设置之后。这可以说是 Discourse 版的“科纳米代码”。

如果这些设置的行为将来被重新调整，一旦帖子出现在不该出现的地方，我们又会回到这里。

归根结底，这真的比通过站点设置锁定“从最新中隐藏”的访问权限更简单吗？

---

<div class="post-metadata">

**Author:** ![sam](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/sam/32/102149_2.png) [@sam](https://meta.discourse.org/u/sam)\
**Post date:** [2019年十二月11日 00:27 UTC](https://meta.discourse.org/t/suppress-category-from-latest-topics-gone/133894/78 "2019-12-11T00:27:51Z")

</div>

我更喜欢在插件中包含“我想去一场奇妙而不可思议的冒险”这类内容。

从根本上说，用户有权选择他们在“最新”中看到什么，不看到什么。设置一些奇怪的分区让用户失去控制权，在我看来这应该是插件的领域。

我想，我某种程度上愿意为此开发某种插件，以恢复旧功能，供那些确实非常想要此功能的少数网站使用。将这种反用户的功能放在核心中让我感到不安。

---

<div class="post-metadata">

**Author:** ![Stephen](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/stephen/32/95011_2.png) [@Stephen](https://meta.discourse.org/u/Stephen)\
**Post date:** [2019年十二月11日 00:30 UTC](https://meta.discourse.org/t/suppress-category-from-latest-topics-gone/133894/79 "2019-12-11T00:30:07Z")

</div>

> [@sam](#):
>
> 将他的反用户功能内置于核心让我感到不安。

这是一种非常片面的看法。如果你是雇主，希望为员工提供一个协作环境，并考虑允许有限的“非工作”类别，那么这样的_功能_可能_非常_理想。

它确实有反用户的潜力，但许多功能如果配置不当，都可能对社区造成破坏。

---

<div class="post-metadata">

**Author:** ![amotl](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/amotl/32/109873_2.png) [@amotl](https://meta.discourse.org/u/amotl)\
**Post date:** [2019年十二月11日 00:34 UTC](https://meta.discourse.org/t/suppress-category-from-latest-topics-gone/133894/80 "2019-12-11T00:34:48Z")

</div>

再次你好，

> [@sam](#):
>
> “我真的真的从来不在乎已静音的分类，也永远不想看到它们”，等同于“我真的非常讨厌政治”。
> 
> 对比
> 
> “我通常不在乎已静音的分类，但我有时仍想浏览它们，所以请保留它们在我的下拉菜单和分类列表中”

我们（仍支持“隐藏选项”的人）想要强调的是：

“作为站点运营者，我希望控制特定分类的帖子行为，使其不出现在 `/latest` 中”。

我认为这与“已静音分类”的功能是完全正交的。

* * *

> [@sam](#):
>
> 更简单且更一致的做法难道不是直接修改，让我们永远不在已静音的分类中自动追踪主题吗？这对我来说似乎是更好的默认设置。

我认为这确实是针对“已静音分类”的一个可行（DWIM）选项。然而，它并不能解决我们中一些人对于“隐藏分类”的需求。

* * *

> [@sam](#):
>
> 我认为最终我们会为那些希望从上层严格规定哪些主题绝不可能出现在最新主题列表中的人提供插件钩子。

那将非常棒。如果完全无法在 Discourse 核心中保留该功能，将其放入专用插件对我们来说将拯救世界。

是否有机会在此功能被移除并影响到更多人之前，着手开发该功能/并行发布/尽快推出？

再次感谢你的倾听，顺颂时祺，  
Andreas。

---

<div class="post-metadata">

**Author:** ![sam](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/sam/32/102149_2.png) [@sam](https://meta.discourse.org/u/sam)\
**Post date:** [2019年十二月11日 00:38 UTC](https://meta.discourse.org/t/suppress-category-from-latest-topics-gone/133894/81 "2019-12-11T00:38:18Z")

</div>

这难道不是“按定义”反用户吗？你是在说：“你们都是孩子，我甚至不能信任你们在最小程度的自我控制上，如果你们想进行这类讨论，请去那里：→”

我不想让你取消静音这个分类，你除了在我为你建造的“监狱”里，永远看不到它。

---

<div class="post-metadata">

**Author:** ![Stephen](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/stephen/32/95011_2.png) [@Stephen](https://meta.discourse.org/u/Stephen)\
**Post date:** [2019年十二月11日 00:41 UTC](https://meta.discourse.org/t/suppress-category-from-latest-topics-gone/133894/82 "2019-12-11T00:41:31Z")

</div>

我会将其视为一种妥协。

雇主没有义务创建此类区域。其明显的好处是有助于新工具的采用，但你不希望这些增值功能喧宾夺主，掩盖了原本的用途。

---

<div class="post-metadata">

**Author:** ![sam](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/sam/32/102149_2.png) [@sam](https://meta.discourse.org/u/sam)\
**Post date:** [2019年十二月11日 00:45 UTC](https://meta.discourse.org/t/suppress-category-from-latest-topics-gone/133894/83 "2019-12-11T00:45:17Z")

</div>

我想说，在工作环境中，这种妥协很快就会失去效力，尤其是像侧边栏主题这类功能，它们在工作环境中表现非常出色，而这项功能与其是正交的。当你使用侧边栏时，你花在“最新”视图上的时间通常也会少得多。

 ![image](https://global.discourse-cdn.com/meta/original/3X/3/5/35e0ad43cd96e06e801b6398cdc07e544f60f461.png)

我有点倾向于直接为旧功能提供一个插件。

---

<div class="post-metadata">

**Author:** ![amotl](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/amotl/32/109873_2.png) [@amotl](https://meta.discourse.org/u/amotl)\
**Post date:** [2019年十二月11日 00:51 UTC](https://meta.discourse.org/t/suppress-category-from-latest-topics-gone/133894/84 "2019-12-11T00:51:46Z")

</div>

> [@sam](#):
>
> 我想，我有点愿意在这里开发某种插件，为那些确实非常想要此功能的罕见站点恢复旧有的功能。

再次，我完全赞同这一点！

> [@sam](#):
>
> 将他的“反用户”功能放在核心代码中让我感到不安。

> [@sam](#):
>
> 除了我为你构建的“牢笼”之外，你永远无法看到这些内容。

我完全理解你的观点，并认同你的看法。使用“静音分类”功能将赋予用户更多自由，因为她可以自行控制自己在 `/latest` 中看到的内容。不过，我想强调的是，“隐藏分类”功能从我们的角度来看，绝不等同于审查。

相反，作为版主，我们将“隐藏分类”功能视为一种手段，用于减少因某些分类偶尔或持续出现高流量而产生的噪音，从而避免 `/latest` 页面被杂乱无章地充斥，影响所有用户（包括匿名用户和已登录用户）的体验。

再举一个例子，这可能是由于使用类似 [GitHub - huw/github-to-discourse: Forwards commit data from a GitHub webhook to a Discourse thread · GitHub](https://github.com/huw/github-to-discourse) 的工具时，向特定分类自动发布帖子所致。在这些特定场景下，当 Discourse 被用于超出其原始设计（即作为讨论论坛）的用途时，由此产生的帖子甚至根本算不上“真正的讨论”。

这种情况是否会影响某些 **罕见** 的站点，超出了我的想象范围。因此，让我们转换一下视角，将其视为：_对于运行 **特定** 功能集或具有 **特定** 需求的某些站点来说，这可能是一个 **至关重要** 的功能_。

因此，通过插件提供此功能，以满足这类 **特定** 站点的需求，对于所有在此争论并希望保留这一选项的人来说，应该是完全没问题的。

[上一頁](https://meta.discourse.org/t/suppress-category-from-latest-topics-gone/133894.md?page=3)

[下一頁](https://meta.discourse.org/t/suppress-category-from-latest-topics-gone/133894.md?page=5)
