WP-DiscourseまたはAPIでグループとカテゴリ(セキュリティ付き)を追加しますか?

はい、可能です。WordPressからDiscourseへのAPIリクエストは、discourse_requestユーティリティメソッドを使用して行うことができます。たとえば、次のようになります。

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

カテゴリの作成

必要なエンドポイントは次のとおりです: Discourse API Docs discourse/app/controllers/categories_controller.rb at main · discourse/discourse · GitHub

「セキュリティ設定」はpermissionsパラメータを介して処理されることに注意してください。グループ名をキー、権限レベルの整数を値とするオブジェクトを指定するだけです。たとえば、次のようになります。

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

権限レベルの整数のリストは次のとおりです: discourse/app/models/category_group.rb at main · discourse/discourse · GitHub