返回

万字长文解析 Discourse 如何批量移动主题到不同分类?

闲谈

在运行Discourse论坛一段时间后,我们可能需要调整社区内容。以下是如何在 Discourse 中批量从一个分类移动到另一个分类。

步骤 1:准备工作

  • 首先,你需要拥有管理员权限才能进行批量移动主题。
  • 其次,你需要知道你要移动的主题的 ID。
  • 然后,你需要知道你要移动到的分类的 ID。

步骤 2:获取主题 ID

  • 要获取主题的 ID,你可以打开主题,然后在浏览器地址栏中找到它。
  • 主题 ID 是 URL 中的数字。
  • 例如,如果主题的 URL 是 https://discourse.example.com/t/1234/topic-title, 那么主题 ID 就是 1234

步骤 3:获取分类 ID

  • 要获取分类的 ID,你可以打开分类,然后在浏览器地址栏中找到它。
  • 分类 ID 是 URL 中的数字。
  • 例如,如果分类的 URL 是 https://discourse.example.com/c/1234/category-name, 那么分类 ID 就是 1234

步骤 4:使用 API 移动主题

  • 你可以使用 Discourse API 来批量移动主题。
  • 以下是如何使用 API 移动主题的示例代码:
curl -X POST https://discourse.example.com/admin/posts/batch \
  -H 'Content-Type: application/json' \
  -H 'Api-Key: API_KEY' \
  -H 'Api-Username: USERNAME' \
  -d '{
    "topic_ids": [
      1234,
      1235,
      1236
    ],
    "category_id": 1237
  }'
  • 在上面的示例中,我们将主题 ID 1234、1235 和 1236 移动到分类 ID 为 1237 的分类中。

步骤 5:验证移动结果

  • 一旦你移动了主题,你可以通过打开分类来验证移动结果。
  • 你应该能够在分类中看到你移动的主题。

提示

  • 你可以使用 Discourse 管理员界面来批量移动主题。
  • 你可以一次移动多达 100 个主题。
  • 你可以使用 API 来移动主题,而无需使用 Discourse 管理员界面。

注意

  • 你只能将主题移动到现有分类中。
  • 你不能将主题移动到子分类中。

结论

希望本教程对你有帮助!如果你有任何问题,请随时在评论区留言。