| 摘要 | Discourse Solved 允许话题作者和工作人员将回复标记为话题的解决方案。 | |
| 安装指南 | 此插件已包含在 Discourse 核心中。无需单独安装该插件。 |
虽然 Discourse Solved 可用于多种场景,但本文档主要聚焦于支持或问答分类这一核心用例。
注意: Discourse Solved 不适用于免费套餐。
设置支持分类
创建新分类时,选择 支持 类型即可在该分类中启用 Discourse Solved。
分类名称 和 样式 字段将预设合理的默认值,如有需要可手动修改。
注意: 编辑现有分类时,分类类型 字段允许您添加或移除分类类型。分类类型可以组合使用,因此您可以同时使用标记答案为解决方案和投票等功能(通过 Discourse 话题投票)。
在 支持 选项卡中,您可以调整该分类或社区中所有支持分类的默认设置。
分类设置
这些设置仅影响当前分类。
- 自动关闭已解决的话题:设置后,已解决的话题将在最后一次回复后的指定时长后自动关闭。设置为
0可禁用此功能。 - 当工作人员标记解决方案时通知话题作者:选中后,当工作人员将某条回复标记为解决方案时,话题作者将收到通知。
- 在话题列表中为未解决的话题显示空复选框:选中后,未解决的话题将在话题列表中显示空复选框。已解决的话题则显示已勾选的复选框,从而有助于区分已解决和未解决的话题。
- 启用共享问题:选中后,用户可以点击 +1 按钮表示他们也受到该问题的影响。有关此功能的更多信息请参见下文。
站点设置
这些设置影响站点上所有支持分类:
- 共享问题标签:您可以将共享问题按钮的标签从 +1 更改为您希望使用的任何文本。
- 显示按解决状态筛选:启用后,将在分类顶部添加“已解决/未解决”筛选器。
- 在搜索中优先显示已解决的话题:启用后,已解决的话题在站点搜索中将优先于未解决的话题。
- 显示标记为已解决的用户:启用后,已解决的话题将显示是谁将其标记为已解决。
标记解决方案
话题作者和站点工作人员可以点击 解决方案 按钮,将回复标记为问题的解决方案。
随后,该答案将在话题的首帖中高亮显示,方便访问。
已标记解决方案提醒
对于可以标记解决方案的话题,当满足以下条件时,将显示“您的问题是否已得到解答”的弹出消息:
- 话题尚未被接受答案
- 话题至少有一条来自其他用户的回复
- 话题作者已登录且能够接受某条回复作为答案
- 话题已存在至少 7 天
如果您希望阻止此弹出消息显示,可以在主题组件中使用以下 CSS 代码将其隐藏:
.topic-navigation-outlet.no-answer {
display: none;
}
如何将其添加到站点的详细说明
- 进入
/admin/customize/themes - 点击 安装,然后选择 创建新主题
- 为其命名,并选择“组件”
- 创建
- 将其添加到您的主题中
- 点击 编辑 CSS/HTML 按钮,将代码粘贴到 通用 选项卡中
然后保存。![]()
共享问题
当启用 启用共享问题 时,成员可以点击未解决话题首帖中的 +1 按钮,表示他们遇到了相同的问题。了解更多。
选择后,该成员将被设置为 关注 该话题。当话题被解决时,他们将收到通知。如果成员不希望收到所关注话题被解决的通知,可以在通知偏好设置中禁用 通知我关注的 topic 被解决 设置。
已解决/未解决筛选器
当启用 显示按解决状态筛选 时,成员可以根据话题是否已解决进行筛选。
您还可以通过在 URL 中添加参数来筛选已解决/未解决的话题。例如:
https://meta.discourse.org/c/support?solved=yes 或 Support - Discourse Meta
搜索
Solved 插件提供了一些用于搜索已解决或未解决话题的高级筛选器,可在 话题位置 下拉菜单中找到:
这将在您的搜索中添加 status:solved 或 status:unsolved。
设置
下表列出了 Discourse Solved 的站点设置。分类设置请参见上文。
| 名称 | 描述 |
|---|---|
solved enabled |
启用 Solved 插件,允许指定分类中的用户为话题选择解决方案 |
show who marked solved |
显示是谁将话题标记为已解决。 |
allow solved on all topics |
允许用户在所有话题上选择解决方案(未勾选时,解决方案可按分类或标签启用) |
accept all solutions allowed groups |
被允许在任何话题上接受解决方案的组(即使不是原始发帖人) |
| solved quote length | 在首帖下显示解决方案时引用的字符数 |
| solved topics auto close hours | 话题被标记为已解决后,在最后一次回复后的 (n) 小时内自动关闭话题。设置为 0 可禁用自动关闭。 |
| show filter by solved status | 显示下拉菜单以按解决状态筛选话题列表 |
| disable solved education message | 禁用已解决话题的教育消息 |
| accept solutions topic author | 允许话题作者接受解决方案 |
| solved add schema markup | 在 HTML 中添加 QAPage 架构标记,以便搜索引擎更容易在搜索结果中显示解决方案 |
| prioritize solved topics in search | 在搜索结果中优先显示已解决的话题。 |
| enable solved tags | 允许用户选择解决方案的标签 |
已解决徽章
这些徽章默认处于禁用状态。您可以在管理员设置中的 徽章 区域启用它们。
| 名称 | 描述 | 详细描述 | 类型 | 分组 |
|---|---|---|---|---|
| 已解决! | 有一条回复被标记为解决方案 | 此徽章授予将一条回复标记为话题解决方案的用户。 |
社区 | |
| 指导顾问 | 有 10 条回复被标记为解决方案 | 此徽章授予将 10 条回复标记为话题解决方案的用户。 |
社区 | |
| 万事通 | 有 50 条回复被标记为解决方案 | 此徽章授予将 50 条回复标记为话题解决方案的用户。 |
社区 | |
| 解决方案机构 | 有 150 条回复被标记为解决方案 | 此徽章授予将 150 条回复标记为话题解决方案的用户。 |
社区 |
开发历史
截至 2025 年 5 月 29 日,解决方案数据存储于两个表中:
discourse_solved_solved_topics表中的一条记录表示topic_id对应的话题已有解决方案,并跟踪自动关闭计时器信息。discourse_solved_topic_answers表中的一条记录存储解决方案帖子本身的answer_post_id和accepter_user_id,以及指向discourse_solved_solved_topics表中话题id列的solved_topic_id。此更改是在 Discourse PR #39806 中引入的。
旧版
discourse_solved_solved_topics表中的answer_post_id和accepter_user_id列将在未来被移除。
感谢 Western Digital 资助本插件的开发!












