本指南介绍如何使用查询字符串在任意 Discourse 站点获取自定义筛选的主题视图。所有用户均可使用查询字符串来查看特定主题列表、创建指向唯一主题列表的自定义链接,以及搜索符合特定条件的主题。
所需用户等级:所有用户
查询字符串是可以附加到大多数 Discourse URL 末尾的文本,用于获取自定义筛选的主题视图。它们可用于查看特定主题列表、创建指向唯一主题列表的自定义链接,以及搜索符合特定条件的主题。
理解查询字符串
查询字符串添加在 URL 末尾,以问号 (?) 开头,后跟参数及其值。例如:
https://meta.discourse.org/?status=open
在此 URL 中,?status=open 即为查询字符串。
使用查询字符串时,您看到的主题列表仍仅限于您的用户账户可访问的主题。使用查询字符串无需启用任何设置。
可用的查询字符串参数
以下是所有 Discourse 站点均可使用的查询字符串参数:
状态
使用 ?status=_ 显示具有特定状态的主题:
open:仅显示开放主题closed:仅显示已关闭主题archived:仅显示已归档主题listed:仅显示已列出(可见)主题unlisted:仅显示未列出主题deleted:仅显示已删除主题public:仅显示公共(非阅读受限)分类中的主题
搜索
使用 ?search=_ 创建完整的搜索结果页面。将 _ 替换为您的搜索词。
状态(用户设置)
使用 ?state=_ 显示具有特定状态的主题:
muted:显示您已屏蔽的主题normal:显示您已设为正常的主题tracking:显示您正在跟踪的主题watching:显示您正在关注的主题watching_first_post:显示您已设置关注首帖的分类或标签中的主题
升序排列
使用 ?ascending=true 按日期升序显示主题。默认为降序。
排序
使用 ?order=_ 按各种条件以降序显示主题:
likes:按点赞数op_likes:按原始帖子的点赞数views:按浏览量posts:按帖子数(回复数)activity:按最后活动时间(包含bumped_at时间)posters:按参与者数量category:按分类名称(Z-A)created:按主题创建日期(最新主题优先)
帖子数筛选
?max_posts=_:返回帖子数小于或等于_的主题?min_posts=_:返回帖子数大于或等于_的主题
年龄筛选
?before=_:返回创建时间超过_天前的主题?bumped_before=_:返回最后被顶起时间超过_天前的主题
主题 ID
使用 ?topic_ids=_ 显示具有特定 ID 的主题列表。接受以逗号分隔的主题 ID 字符串。
分类
使用 ?category=_ 显示特定分类的主题列表。接受以逗号分隔的分类 ID 数字字符串。
使用 ?no_subcategories=true 在按分类筛选时排除子分类中的主题。
标签
使用 ?tags=_ 按标签筛选主题。例如,https://meta.discourse.org/?tags=how-to 将显示所有带有 how-to 标签的主题。
结合 ?tags=_ 使用 ?match_all_tags=true,可要求主题必须包含所有指定标签(而非任意一个)。
使用 ?no_tags=true 仅显示没有任何标签的主题。
使用 ?exclude_tag=_ 排除带有特定标签的主题。
点赞筛选
使用 ?f=liked 仅显示当前用户已点赞过帖子的主题。
插件特定参数
某些插件会添加额外的查询字符串参数:
Solved 插件
如果您已安装 Solved 插件:
?solved=yes:显示已解决的主题?solved=no:显示未解决的主题
Assign 插件
如果您已安装 Assign 插件:
?assigned=username:查看分配给特定用户的所有主题?assigned=*:查看所有用户被分配的主题?assigned=me:查看分配给当前用户的所有主题?assigned=nobody:查看所有未分配的主题
组合查询字符串
您可以使用符号 & 组合多个查询字符串。使用多个查询字符串时,仅第一个参数需要 ? 符号。例如:
https://meta.discourse.org/?max_posts=1&status=closed
此 URL 将显示仅有一条帖子的已关闭主题。
使用高级搜索页面
您也可以使用高级搜索页面,通过图形用户界面构建这些 URL,然后复制生成的 URL。请注意,某些搜索过滤器在搜索上下文之外作为查询字符串参数可能无法正常工作。