تضمين تسجيل الدخول لـ Discourse في صفحة WP، وإضافة مستخدم جديد إلى مجموعة محددة تلقائيًا؟

أبحث عن طريقة للسماح لمجموعة معينة من الأشخاص بالتسجيل في منصة Discourse الخاصة بي. التفضيلات هي على النحو التالي:

  1. زيارة صفحة WordPress أو صفحة Discourse للتسجيل، مع طلب اسم المستخدم والبريد الإلكتروني وكلمة المرور (إذا لزم الأمر؛ يمكن إنشاء الحساب تلقائيًا أيضًا).
  2. يتم إضافة المستخدم إلى Discourse، بالإضافة إلى إضافته إلى مجموعة.

هل هذا ممكن خارج نظام Memberful؟

يمكنك تحقيق ذلك باستخدام موقع WordPress الخاص بك كمزود تسجيل دخول واحد (SSO) لموقع Discourse. يحتوي إضافة WP Discourse على خيار مزود SSO يمكن استخدامه لإعداد ذلك.

الجزء الصعب هو إدخال المستخدمين إلى مجموعات Discourse. للقيام بذلك باستخدام إضافة WP Discourse، ستحتاج إلى إضافة بعض الكود إلى موقع WordPress الخاص بك. توجد أمثلة على الكود في هذا المنتدى يمكننا توجيهك إليها لإضافة المستخدمين إلى المجموعات، لكنك بحاجة إلى طريقة لتحديد مجموعات Discourse التي يجب إضافة مستخدمي WordPress إليها. إحدى الطرق لتحقيق ذلك هي إضافة إضافة عضوية إلى موقع WordPress الخاص بك، ثم إضافة المستخدمين إلى مجموعات Discourse بناءً على مستوى عضويتهم في WordPress.

لجعل المستخدمين يسجلون ويضافون إلى مجموعات Discourse دون الحاجة لإضافة أي كود مخصص، يمكنك الاطلاع على إضافة Discourse Patreon. تُعد Memberful أيضًا خيارًا جيدًا.

ما تريد شيئًا مثل

if ( class_exists( '\WPDiscourse\Discourse\Discourse' ) ) {
    add_filter( 'wpdc_sso_params', 'wpdc_custom_sso_params', 10, 2 );
}
function wpdc_custom_sso_params( $params, $user ) {
    $groups = get_group_list_for_current_user();
    if ( strlen($groups) > 0 ) {
        $params['add_groups'] = $groups;
    }
    return $params;
}

سيعمل. تركت وظيفة get_group_list_for_current_user كتمرين للقارئ. :wink:

إذا لم يساعد ذلك ولديك ميزانية، يمكنك السؤال في Marketplace أو الاتصال بي.