نعم، هذا ممكن. يمكنك إجراء أي طلب API إلى Discourse من WordPress باستخدام طريقة الأداة المساعدة discourse_request، أي:
use WPDiscourse\Utilities\Utilities as DiscourseUtilities;
$args = array(
"body" => "",
"type" => "post"
);
$response = DiscourseUtilities::discourse_request( $path, $args );
سيؤدي هذا إلى تنسيق الطلب بشكل صحيح واستخدام مفتاح API والمستخدم الذي قدمته في إعدادات WP Discourse. ستحتاج إلى مفتاح عام للإجراءات التي تشير إليها (إذا كنت تستخدم نفس المفتاح أيضًا لوظائف WP Discourse العادية).
إنشاء مجموعة
نقطة النهاية التي تريدها هي هذه: Discourse API Docs. لا توجد قائمة كاملة بالمعلمات في وثائق API، ولكنك ستجدها هنا: 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