如何将标签按受欢迎程度排序应用到主题列表中?目前似乎只适用于标签页面

按热度排序标签 选项在设置中是否仅对生成的标签页生效?

我该如何为每个主题对标签进行排序,并在主题列表中显示?

例如:
这三个标签:Java 10 次、JavaScript 5 次、C++ 2 次,

我希望实现:如果有人在某个主题中使用了这三个标签,当该主题显示时,这些标签能按热度排序,而不是按照原始发帖人(OP)给出的顺序。这是否可行?

4 个赞

这是一个很好的观点;按标签的流行度排序应该在主题本身和主题列表中都被尊重。

我认为这可能应该不受站点设置的影响。@sam,这个改动会有多大?

2 个赞

您好,

此事有进展吗?我想确认一下,这是一个相对较小的功能添加吗?或者是否有我可以作为短期解决方案进行自定义的内容?

1 个赞

我想到的一点是按反向流行度排序,这样最不常见或“信息量最大”的标签会排在前面。

但我从未真正实施过,因为这听起来比剑厂还要多得多边缘情况。

1 个赞

我觉得话题的标签显示顺序默认应按标签热度排序,@sam 我们应该分配这个任务,除非实现起来非常困难。

(另外,如果话题只有一个标签,这段代码路径完全可以跳过。)

2 个赞

既然我们按标签 ID 进行交易,我认为无论如何都会关联到 tags 表,这应该相当安全,并且不会增加额外的查询。

@kris.kotlarek 你能处理这个吗?

3 个赞

该 PR 已进行了改进,并将包含在下一个 beta 版本中 - FEATURE: respect tags_sort_alphabetically setting when display tags by KrisKotlarek · Pull Request #10889 · discourse/discourse · GitHub

以下是按热度排序时 Meta 上的示例:

我曾短暂更改过该选项:

当您进入主题时,也可以看到相同的标签顺序:

4 个赞