使用 WP-Discourse 或 API 添加组和类别(带安全)?

是的,这是可能的。您可以使用 discourse_request 实用方法从 WordPress 发起任何 API 请求到 Discourse,例如:

use WPDiscourse\\Utilities\\Utilities as DiscourseUtilities;
$args =  array(
   "body" => "",
   "type" => "post"
);
$response = DiscourseUtilities::discourse_request( $path, $args );

这将正确格式化请求,并使用您在 WP Discourse 设置中提供的 API 密钥和用户。您将需要一个全局密钥来执行您提到的操作(如果您也为正常的 WP Discourse 功能使用相同的密钥)。

创建群组

您需要的端点是:Discourse API Docs 文档中没有完整的参数列表,但您可以在此处找到它们:discourse/app/controllers/admin/groups_controller.rb at main · discourse/discourse · GitHub

创建分类

您需要的端点是:https://docs.discourse.org/#operation/createCategory。同样,完整的参数列表在这里:https://github.com/discourse/discourse/blob/main/app/controllers/categories_controller.rb#L319

请注意,“安全设置”是通过 permissions 参数处理的。您只需要为其提供一个对象,其中群组名称作为键,权限级别整数作为值,例如:

{
  "cohort1": 2,
  "staff": 1
}

您可以在此处找到权限级别整数列表:discourse/app/models/category_group.rb at main · discourse/discourse · GitHub