# 在被屏蔽的分类中发布带有关注标签的帖子会发生什么？

**URL:** <https://meta.discourse.org/t/what-happens-for-a-post-in-a-muted-category-with-a-watched-tag/161907>\
**Category:** Support\
**Created:** [2020年八月24日 12:59 UTC](https://meta.discourse.org/t/what-happens-for-a-post-in-a-muted-category-with-a-watched-tag/161907 "2020-08-24T12:59:59Z")\
**Posts on this page:** 15\
**Page:** 1

<div class="post-metadata">

**Author:** ![oca](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/oca/32/156060_2.png) [@oca](https://meta.discourse.org/u/oca)\
**Post date:** [2020年八月24日 12:59 UTC](https://meta.discourse.org/t/what-happens-for-a-post-in-a-muted-category-with-a-watched-tag/161907/1 "2020-08-24T12:59:59Z")

</div>

大家好，

我有一个社区正在开展许多项目。每个项目都有自己独立的分类，默认处于静音状态（内容并非私密，但大多数人并不关注，除非用户特意进入该分类页面，否则不会显示）。

这些项目有时需要公开发布一些重要信息（如重大新闻、求助需求等）。

我原本打算使用一个“重要”标签，默认被跟踪或关注，这样相关帖子就能触达所有人。但分类设置似乎会覆盖标签设置。

目前，我不得不使用两个分类：一个用于日常讨论，默认保持静音；另一个则使用普通设置。这种方案非常不理想，我们需要重复设置两次，用户在发布帖子时也会看到两倍数量的分类选项……

请问是否可以在本地实现以下目标：

- 让标签设置优先于分类设置？
- 让“已关注”状态优先于“已静音”状态？
- 或者是否有其他方法可以实现我的目标？

提前感谢！

---

<div class="post-metadata">

**Author:** ![codinghorror](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/codinghorror/32/110067_2.png) [@codinghorror](https://meta.discourse.org/u/codinghorror)\
**Post date:** [2020年八月25日 03:55 UTC](https://meta.discourse.org/t/what-happens-for-a-post-in-a-muted-category-with-a-watched-tag/161907/2 "2020-08-25T03:55:49Z")

</div>

> [@oca](#):
>
> 这些项目有时需要公开显示某些内容（重大新闻、求助需求等）。

应为这些帖子设立一个独立的公开分类，例如“重大公开项目更新”，然后你可以将其标记为对应的项目。

---

<div class="post-metadata">

**Author:** ![oca](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/oca/32/156060_2.png) [@oca](https://meta.discourse.org/u/oca)\
**Post date:** [2020年九月10日 09:39 UTC](https://meta.discourse.org/t/what-happens-for-a-post-in-a-muted-category-with-a-watched-tag/161907/3 "2020-09-10T09:39:08Z")

</div>

感谢您的回答，  
我们正按照您的建议进行切换，因为这确实看起来更直观。

**但仍然存在一个问题。**  
我们将有两个分类：

- 公告
- 进行中

并且我们将为每个项目设置标签。

预期的行为是：

- 在“公告”分类中，所有用户应能看到任何项目/标签的帖子
- 在“进行中”分类中，用户应能够屏蔽他们未参与的项目/标签

因此，我认为设置应该是：

- 公告：默认“关注”或“订阅”
- 进行中：默认“正常”
- 标签：让用户决定要关注或屏蔽哪些标签，并可能在首页添加一个主题组件，以便他们轻松切换这些选定标签的通知级别。

但此设置也会屏蔽公告分类中的标签。  
有没有办法阻止这种行为？

- 让“关注”或“订阅”在标签和分类设置冲突时优先于“屏蔽”（即只有当标签和分类同时设置为“屏蔽/屏蔽”或“屏蔽/正常”时，帖子才会被屏蔽，这应该是最直观的行为。也就是说，“以防万一”，在设置冲突的情况下，规则应该是不要丢弃帖子。而“正常”不会与任何设置冲突。）

- 让分类设置（针对特定分类）优先于标签设置？这能通过主题组件实现吗？我猜不行，但我对插件还不够熟悉。

另一种选择是从公告中移除标签，但这似乎非常不令人满意。那样就无法概览某个项目的所有相关帖子了。

---

<div class="post-metadata">

**Author:** ![Mevo](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/mevo/32/187732_2.png) [@Mevo](https://meta.discourse.org/u/Mevo)\
**Post date:** [2020年九月10日 14:48 UTC](https://meta.discourse.org/t/what-happens-for-a-post-in-a-muted-category-with-a-watched-tag/161907/4 "2020-09-10T14:48:00Z")

</div>

是的，OCA，我相信我们过去已经讨论过这个问题了。根据您实际想要实现的目标，可能会存在优先级问题：例如：用户被静音，但您实际上希望他的回复在跟踪的话题中显示。被静音分类中的跟踪话题。被静音分类中的跟踪标签（您的情况）或被静音话题中的标签。被跟踪分类中的静音标签或跟踪话题中的静音标签。（注意：跟踪或关注）

我甚至不完全确定所有这些情况实际上是如何反应的。  
**目前静音是否总是具有最高优先级？**

这似乎是需要更复杂的设置来处理的问题：一个优先级列表，用于设定什么优先于什么（按什么顺序），或者至少在“静音”设置中添加一个选项，选择“低优先级”或“高优先级”。

---

<div class="post-metadata">

**Author:** ![oca](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/oca/32/156060_2.png) [@oca](https://meta.discourse.org/u/oca)\
**Post date:** [2020年九月10日 15:15 UTC](https://meta.discourse.org/t/what-happens-for-a-post-in-a-muted-category-with-a-watched-tag/161907/5 "2020-09-10T15:15:32Z")

</div>

> [@Mevo](#):
>
> **目前静音是否始终具有优先权？**

我还没有广泛测试（因为要通知我自己有点棘手，我们通常在有时间的情况下通过 do-admin 来操作），但我还没有发现任何例外情况。

如果这个问题不在当前的路线图内，我也能理解。但如果有人能指点我在代码库中该查看哪些部分，我很乐意尝试编写一个插件来处理这个问题。

编辑：我可能找到了这个设置：`remove muted tags from latest`？  
我会做更多测试。  
编辑 2：看来它只处理标签之间的冲突，而不处理标签与分类之间的冲突。如果有这样的设置那就太好了。

---

<div class="post-metadata">

**Author:** ![Mevo](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/mevo/32/187732_2.png) [@Mevo](https://meta.discourse.org/u/Mevo)\
**Post date:** [2020年九月10日 18:11 UTC](https://meta.discourse.org/t/what-happens-for-a-post-in-a-muted-category-with-a-watched-tag/161907/6 "2020-09-10T18:11:31Z")

</div>

其中一个解决方案可能是通过代码自行隐藏“最新”中的分类，而不是静音它们。在这种情况下，您可以在代码中检查是否存在某些原因，即使话题属于被隐藏的分类，仍需要显示（例如：包含特定标签）。一个缺点是用户无法自行选择取消“静音”这些分类。

以下代码或许能帮助您起步：

> **[GitHub - communiteq/discourse-suppress-category-from-latest](https://github.com/communiteq/discourse-suppress-category-from-latest)**
>
> Contribute to communiteq/discourse-suppress-category-from-latest development by creating an account on GitHub.

> **[GitHub - discourse/discourse-categories-suppressed](https://github.com/discourse/discourse-categories-suppressed)**
>
> Contribute to discourse/discourse-categories-suppressed development by creating an account on GitHub.

---

<div class="post-metadata">

**Author:** ![Ratattack15](https://avatars.discourse-cdn.com/v4/letter/r/e47774/32.png) [@Ratattack15](https://meta.discourse.org/u/Ratattack15)\
**Post date:** [2024年六月14日 20:23 UTC](https://meta.discourse.org/t/what-happens-for-a-post-in-a-muted-category-with-a-watched-tag/161907/7 "2024-06-14T20:23:33Z")

</div>

你好，我刚刚注册，因为我一直在搜索/查看可以为 Discourse 驱动的论坛做什么；（虽然这已经是 4 年前了，但似乎最适合）  
目前，它非常注重标签，并且许多人会静音和关注各种标签……然而，由于通知系统的当前工作方式。关注的标签优先于静音的标签，导致人们收到他们不想要的帖子的通知。这也适用于被关注标签覆盖了被静音的类别的类别，但主要问题似乎是（而且我也这么认为）关注标签优先。  
\*\*在此论坛的背景下举例说明：\*\*我静音了 #ai-bot 标签，但关注了 #completed 标签。因此，我期望永远不会收到带有 #ai-bot 的帖子，即使是带有 #completed 的帖子。然而，有一天我收到了关于 [Enabling AI Bot in Chat](https://meta.discourse.org/t/enabling-ai-bot-in-chat/286383?u=ratattack15) 的通知，该帖子由于系统当前的工作方式而同时包含这两个标签。

是否有什么方法可以让用户选择哪个标签和/或类别优先，或者让管理员能够自己更改/设置？

---

<div class="post-metadata">

**Author:** ![Moin](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/moin/32/554653_2.png) [@Moin](https://meta.discourse.org/u/Moin)\
**Post date:** [2024年六月14日 20:59 UTC](https://meta.discourse.org/t/what-happens-for-a-post-in-a-muted-category-with-a-watched-tag/161907/8 "2024-06-14T20:59:07Z")

</div>

在跟踪首选项下方有一个单独的选项，您可以在其中配置行为。（还有一个站点设置可配置默认值）

 ![_20240614_225622](https://global.discourse-cdn.com/meta/original/4X/b/6/7/b671f18f7757b5b52b1611fc02b2e0657531b0fb.jpeg)

---

<div class="post-metadata">

**Author:** ![Ratattack15](https://avatars.discourse-cdn.com/v4/letter/r/e47774/32.png) [@Ratattack15](https://meta.discourse.org/u/Ratattack15)\
**Post date:** [2024年六月14日 21:03 UTC](https://meta.discourse.org/t/what-happens-for-a-post-in-a-muted-category-with-a-watched-tag/161907/9 "2024-06-14T21:03:48Z")

</div>

嗯……嗯……我没看到那个选项，是权限问题还是其他什么？（另外，我在我加入的另一个论坛上也看不到）：

 ![image](https://global.discourse-cdn.com/meta/original/4X/d/9/2/d92b98a1a9500a69a0e4f5df5129a158dedee96b.png)

---

<div class="post-metadata">

**Author:** ![Moin](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/moin/32/554653_2.png) [@Moin](https://meta.discourse.org/u/Moin)\
**Post date:** [2024年六月14日 21:04 UTC](https://meta.discourse.org/t/what-happens-for-a-post-in-a-muted-category-with-a-watched-tag/161907/10 "2024-06-14T21:04:12Z")

</div>

除非您观看并静音某个内容，否则它将保持隐藏状态

---

<div class="post-metadata">

**Author:** ![Ratattack15](https://avatars.discourse-cdn.com/v4/letter/r/e47774/32.png) [@Ratattack15](https://meta.discourse.org/u/Ratattack15)\
**Post date:** [2024年六月14日 21:06 UTC](https://meta.discourse.org/t/what-happens-for-a-post-in-a-muted-category-with-a-watched-tag/161907/11 "2024-06-14T21:06:54Z")

</div>

仍未显示，也刷新了页面：

 ![image](https://global.discourse-cdn.com/meta/original/4X/2/7/6/276ff84ce52dad5035c89f7ff530348ace1112a8.png)

---

<div class="post-metadata">

**Author:** ![Moin](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/moin/32/554653_2.png) [@Moin](https://meta.discourse.org/u/Moin)\
**Post date:** [2024年六月14日 21:08 UTC](https://meta.discourse.org/t/what-happens-for-a-post-in-a-muted-category-with-a-watched-tag/161907/12 "2024-06-14T21:08:39Z")

</div>

当您查看某个类别时，它会出现吗？

---

<div class="post-metadata">

**Author:** ![Ratattack15](https://avatars.discourse-cdn.com/v4/letter/r/e47774/32.png) [@Ratattack15](https://meta.discourse.org/u/Ratattack15)\
**Post date:** [2024年六月14日 21:15 UTC](https://meta.discourse.org/t/what-happens-for-a-post-in-a-muted-category-with-a-watched-tag/161907/13 "2024-06-14T21:15:04Z")

</div>

是的……所以它需要你同时为类别和标签执行此操作，我刚刚将此编辑到我的帖子中：

 ![image](https://global.discourse-cdn.com/meta/original/4X/b/d/a/bda947663c6e290a148f6d5d32e7d744cf16c667.png)  
但是，似乎必须将其设置为“watched”（关注），你不能先设置为“watching”（观看）然后让它出现……这解释了为什么它从未被注意到，因为类别只有大约 7 个左右。  
总之，只是为了确认……勾选该框应该会产生以下结果：

> [@Ratattack15](#):
>
> **在此论坛的上下文中此示例：** 我已将 #ai-bot 标签静音，但已关注 #completed 标签。因此，我期望永远不会收到带有 #ai-bot 的主题，即使是带有 #completed 的主题。但是有一天，我收到关于 [Enabling AI Bot in Chat](https://meta.discourse.org/t/enabling-ai-bot-in-chat/286383) 的通知，由于系统当前的工作方式，它同时包含这两个标签。

不会发生，对吗？

编辑：刚意识到我没有问这是否也适用于“watching first post”（观看首帖）部分，因为我所有的标签都设置在那里，然后我手动将主题设置为观看或不观看。

---

<div class="post-metadata">

**Author:** ![Moin](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/moin/32/554653_2.png) [@Moin](https://meta.discourse.org/u/Moin)\
**Post date:** [2024年六月14日 21:40 UTC](https://meta.discourse.org/t/what-happens-for-a-post-in-a-muted-category-with-a-watched-tag/161907/14 "2024-06-14T21:40:57Z")

</div>

> [@Ratattack15](#):
>
> 编辑：刚意识到我没有问这是否也适用于观看第一个帖子部分，因为我在那里设置了所有标签，然后手动将主题设置为观看或不观看。

我尝试了以下操作：

- 将 tag1 设置为“观看第一个帖子”
- 屏蔽 tag2
- 将 category1 设置为“观看”并启用了“通知我关于我正在观看的类别或标签中也属于我屏蔽的类别或标签的主题”
- 从“观看”中移除了 category1

因此，我只观看了 tag1 的第一个帖子并屏蔽了 tag2。  
我收到了一个关于我创建的新主题的通知。

然后我再次启用了 category1 的“观看”，禁用了“通知我关于我正在观看的类别或标签中也属于我屏蔽的类别或标签的主题”，并再次清除了观看类别列表。

然后我没有收到关于同时带有这两个标签的新主题的通知。

因此，“通知我关于我正在观看的类别或标签中也属于我屏蔽的类别或标签的主题”在你不观看某个类别时也有效，尽管此时偏好设置不可见。

---

<div class="post-metadata">

**Author:** ![Ratattack15](https://avatars.discourse-cdn.com/v4/letter/r/e47774/32.png) [@Ratattack15](https://meta.discourse.org/u/Ratattack15)\
**Post date:** [2024年六月14日 21:55 UTC](https://meta.discourse.org/t/what-happens-for-a-post-in-a-muted-category-with-a-watched-tag/161907/15 "2024-06-14T21:55:16Z")

</div>

如果我理解正确的话，为了避免在我所在的论坛上出现这种情况（目前在进行任何操作以显示此偏好设置之前就会出现），我需要通过关注某个类别来显示此偏好设置，启用偏好设置并保存，然后禁用偏好设置并清除关注的类别。对吗？

_抱歉，如果我的理解有误或表述不清，我通常是视觉学习者，我想确保我理解了这一点，以免以后再来打扰大家。_
