| 摘要 | Discourse Solved 允许用户在指定分类的主题中接受解决方案。 | |
| 安装指南 | 此插件已随 Discourse 核心 bundled。无需单独安装该插件。 |
启用 Solved 功能
Solved 插件可以从其设置中启用,访问路径为 admin/plugins 页面:
启用插件后,若要为所有分类启用 Solved 功能,请使用 allow solved on all topics 站点设置。
或者,如果您希望按分类单独应用:
- 进入您希望启用解决方案的分类,点击分类扳手图标
- 切换到“设置”选项卡
- 向下滚动并启用“允许主题作者和工作人员将回复标记为解决方案”

标记解决方案
主题发起人(OP)在每个回复下会有一个“解决方案”按钮,允许/鼓励他们接受某个答案:
对于其他可以接受答案的用户(例如管理员或版主),该选项会以更低调的复选框形式显示:
被接受的答案将在主题的首帖中高亮显示:
包含已接受答案的主题会在主题列表中以勾选框标记:
某些站点可能还希望在主题列表中显示未解决状态的指示器,这可以通过启用 empty_box_on_unsolved 站点设置来实现:
解决后自动关闭主题
在主要的 Solved 管理员设置中,您可以设置一个计时器,在主题获得解决方案后自动关闭该主题,使用 solved topics auto close hours 管理员设置:
或者,也可以在分类扳手菜单的“设置”选项卡中按分类单独设置:
搜索与筛选
搜索
Solved 插件提供了一些额外的高级搜索筛选器,用于筛选已解决或未解决的主题,可在“主题位置”下拉菜单中找到:
这将在您的搜索中添加 status:solved 或 status:unsolved。
筛选
您还可以使用站点设置 show_filter_by_solved_status 在主题列表页面启用筛选下拉菜单:
您还可以通过在 URL 中添加参数来筛选已解决/未解决的主题。例如:
https://meta.discourse.org/c/support?solved=yes 或 https://meta.discourse.org/c/support?solved=no
按照以下说明,可以将这些链接添加到特定分类列表上方:
标记解决方案提醒
在可以标记解决方案的主题中,当满足以下条件时,将显示“您的问题是否已得到解答”的弹出消息:
- 该主题没有已接受的答案
- 该主题至少有一条来自其他用户的回复
- 主题作者已登录且能够接受某条回复作为答案
- 该主题已存在至少 7 天
如果您希望阻止此弹出消息显示,可以在主题组件中使用以下 CSS 将其隐藏:
.topic-navigation-outlet.no-answer {
display: none;
}
有关如何将此添加到您站点的额外说明
- 进入
/admin/customize/themes - 点击 安装,然后点击 创建新主题
- 为其命名,并选择“组件”
- 创建
- 将其添加到您的主题中
- 点击 编辑 CSS/HTML 按钮,并将代码粘贴到 通用选项卡 中
然后保存。![]()
设置
| 名称 | 描述 |
|---|---|
| solved enabled | 启用 Solved 插件,允许用户为主题选择解决方案 |
| allow solved on all topics | 允许用户为所有主题选择解决方案(未选中时,可按分类或标签启用解决方案) |
| accept all solutions allowed groups | 允许在任何主题上接受解决方案的组(即使不是主题作者) |
| empty box on unsolved | 在未解决主题旁边显示空框 |
| solved quote length | 在首帖下显示解决方案时引用的字符数 |
| solved topics auto close hours | 主题标记为已解决后,在最后一条回复后 (n) 小时自动关闭主题。设置为 0 可禁用自动关闭 |
| show filter by solved status | 显示下拉菜单以按解决状态筛选主题列表 |
| notify on staff accept solved | 当工作人员将某条回复标记为解决方案时,向主题作者发送通知 |
| disable solved education message | 禁用已解决主题的教育消息 |
| accept solutions topic author | 允许主题作者接受解决方案 |
| solved add schema markup | 向 HTML 添加 QAPage 架构标记 |
| prioritize solved topics in search | 在搜索结果中优先显示已解决的主题 |
| enable solved tags | 允许用户选择解决方案的标签 |
Solved 徽章
| 名称 | 描述 | 详细描述 | 类型 | 分组 |
|---|---|---|---|---|
| 已解决! | 有一条回复被标记为解决方案 | 此徽章授予给有一条回复被标记为主题解决方案的用户。 |
社区 | |
| 指导顾问 | 有 10 条回复被标记为解决方案 | 此徽章授予给有 10 条回复被标记为主题解决方案的用户。 |
社区 | |
| 万事通 | 有 50 条回复被标记为解决方案 | 此徽章授予给有 50 条回复被标记为主题解决方案的用户。 |
社区 | |
| 解决方案机构 | 有 150 条回复被标记为解决方案 | 此徽章授予给有 150 条回复被标记为主题解决方案的用户。 |
社区 |
这些徽章默认处于禁用状态。您可以从
admin/badges页面启用它们
由我们托管?此插件可在我们所有托管层级上使用 Solved | Discourse - Civilized Discussion
开发历史
截至 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 资助此插件的开发!












