是的,这是可能的。您可以使用 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
创建分类
请注意,“安全设置”是通过 permissions 参数处理的。您只需要为其提供一个对象,其中群组名称作为键,权限级别整数作为值,例如:
{
"cohort1": 2,
"staff": 1
}
您可以在此处找到权限级别整数列表:discourse/app/models/category_group.rb at main · discourse/discourse · GitHub