Sì, è possibile. Puoi effettuare qualsiasi richiesta API a Discourse da WordPress utilizzando il metodo di utilità discourse_request, ad esempio:
use WPDiscourse\Utilities\Utilities as DiscourseUtilities;
$args = array(
"body" => "",
"type" => "post"
);
$response = DiscourseUtilities::discourse_request( $path, $args );
Questo formatterà correttamente la richiesta e utilizzerà la chiave API e l’utente che hai fornito nelle impostazioni di WP Discourse. Avrai bisogno di una chiave globale per le azioni a cui ti riferisci (se stai usando la stessa chiave anche per la normale funzionalità di wp discourse).
Creazione di un gruppo
L’endpoint che desideri è questo: Discourse API Docs. Non c’è un elenco completo dei parametri nella documentazione API, ma li troverai qui: discourse/app/controllers/admin/groups_controller.rb at main · discourse/discourse · GitHub
Creazione di una categoria
L’endpoint che desideri è questo: Discourse API Docs. Allo stesso modo, l’elenco completo dei parametri è qui: discourse/app/controllers/categories_controller.rb at main · discourse/discourse · GitHub
Nota che le “impostazioni di sicurezza” sono gestite tramite il parametro permissions. Devi solo fornirgli un oggetto con i nomi dei gruppi come chiavi e interi dei livelli di permesso come valori, ad esempio:
{
"cohort1": 2,
"staff": 1
}
L’elenco degli interi dei livelli di permesso si trova qui: discourse/app/models/category_group.rb at main · discourse/discourse · GitHub