الوصول الأساسي إلى المنتدى/التكامل مع موقع ووردبريس

لدي موقع عضوية ووردبريس يستخدم Memberpress لإدارة الوصول.
قمنا بإنشاء منتدى Discourse وقمنا بتثبيت إضافة wp-discourse وربطهما معًا.

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

أقدر أي توجيهات في هذا الصدد. لقد لاحظت في إعدادات الإضافة المختلفة أنها توحي بأنه قد يتم تضمين المنشورات في موقع ووردبريس. لكنني لم أجد شرحًا جيدًا لكيفية ظهور ذلك.

شكرًا لك!
إيفلين

هل رأيت هذا الموضوع؟:

نعم
لقد اتبعت الأجزاء التي تبدو ذات صلة. لا أزال لا أرى معلومات حول كيفية ربط المنتدى بموقع ويب.. أعتقد أنه يكفي جعله رابطًا في القائمة.
لقد حاولت إعداد الموقع بحيث يكون ووردبريس هو نظام الدخول الموحد (SSO) للمنتدى، لكنني أحتاج إلى إجراء المزيد من الاختبارات لأنني عندما أذهب إلى المنتدى بحساب مستخدم موجود بالفعل في المنتدى، لا يزال يطلب مني تسجيل الدخول إلى المنتدى.
سيكون من الجيد رؤية مثال على موقع ويب يربط بمنتدى ديسكورش.
شكرًا لك!
إيفلين

مدونتنا الرئيسية مثال واحد:

صحيح. ستحتاج فقط إلى تعديل موقعك لإدراج رابط إلى المنتدى في المكان المناسب.

إذا كنت تستخدم الإضافة لنشر المشاركات من WordPress إلى Discourse، فيمكنك إضافة رابط للموضوع المرتبط على Discourse إلى كل منشور على WordPress. للقيام بذلك، حدد ‘تفعيل تعليقات Discourse’ في تبويب إعدادات التعليقات الخاص بالإضافة. عند تحديد هذا الخيار، ستتاح لك الخيارات إما لعرض تعليقات Discourse أسفل المنشور، أو عرض رابط للملاحظات فقط.

عند تفعيل SSO، ستكون الروابط إلى مواضيع Discourse افتراضيًا روابط تسجيل دخول عبر SSO. وهذا يعني أنه عند النقر على الرابط، سيتم توجيه المستخدم تلقائيًا عبر عملية تسجيل الدخول عبر SSO ثم إعادة توجيهه إلى موضوع Discourse كمستخدم مسجل الدخول.

يمكنك إضافة رابط لمنتدىك إلى قائمة موقع WordPress. عند تفعيل SSO، يمكنك هيكلة الرابط بحيث يتم توجيه المستخدمين عبر عملية تسجيل الدخول عبر SSO عند النقر على الرابط. راجع Create a DiscourseConnect login link للحصول على تفاصيل حول كيفية هيكلة الرابط. لإضافة رابط بهذا الشكل على WordPress، تحتاج إلى إضافة ‘رابط مخصص’ إلى القائمة:

المثال في لقطة الشاشة الخاصة بي سيُسجل دخول المستخدمين إلى Discourse ويعيد توجيههم إلى الصفحة الرئيسية للمنتدى عند النقر على رابط ‘المنتدى’. لإنشاء رابط يعيد توجيه المستخدمين إلى صفحة محددة على المنتدى، أضف معلمة استعلام return_path إلى URL. على سبيل المثال: http://localhost:3000/session/sso?return_path=http://localhost:3000/c/fun.

مرحبًا سيمون،
شكرًا لك! هذا مفيد.

هل توجد وثيقة تشرح هذا؟

http://localhost:3000/session/sso

إذا أردت استخدام عنوان URL الفعلي الخاص بي (النطاق الفرعي) للمنتدى بدلاً من عنوان localhost، فهل سيعمل ذلك أيضًا؟

من غير المرجح أن نستخدم المنشورات في ووردبريس للانتقال إلى ديسكورش، بل سنكتفي برابط ينقل الأعضاء إلى المنتدى، لكننا نريد أن يكونوا مسجلين دخولهم عند وصولهم إليه.

وهذا يعني أن جميع إعدادات التعليقات والمنشورات وما إلى ذلك لن تنطبق في هذه الحالة؟ سنرغب فقط في حماية الوصول إلى المنتدى باستخدام إضافة العضوية لدينا. ولن نحتاج إلى مزامنة التعليقات والمنشورات.

إيفلين

أوه، عذراً، لقد نقرت للتو على الرابط الذي شاركتِه.. قرأت بسرعة كبيرة جداً :slight_smile:
إيفلين

لم يكن المثال الذي قدمته واضحًا كما كان يمكن أن يكون. سأقوم بتعديله هذا الأسبوع. نطاق localhost:3000 هو نطاق موقع التطوير المحلي الخاص بي. يجب عليك استبدال هذا النطاق بالنطاق الفعلي الخاص بمنتداك. على سبيل المثال، https://forum.example.com/session/sso

إذا كان هذا هو الحال، فلا تحتاج إلى تكوين أي من إعدادات التعليق أو النشر.

عند تفعيل SSO، سيتمكن جميع المستخدمين على موقع ووردبريس الخاص بك من تسجيل الدخول إلى منتدى ديسكورش. إذا كان لديك مستخدمون على ووردبريس لا ينبغي السماح لهم بإنشاء حسابات على ديسكورش، فستحتاج إلى إضافة بعض الأكواد إلى إضافة ما أو إلى سمة موقعك. يقدم الموضوع تفاصيل حول كيفية تحقيق ذلك: How to prevent some WP users from being able to login to Discourse.

مرحبًا سيمون،

لقد قمت بإعداد هذه الرابطة.

https://forum.richarddolanmembers.com/session/sso?return_path=https://forum.richarddolanmembers.com/

أريد فقط أن تؤدي إلى الصفحة الرئيسية. لاحقًا قد أختار صفحة محددة من Discourse.

تأكدت من ترك المربع المحدد للسماح بتسجيل الدخول المباشر.
حاليًا، عند تسجيل الدخول من موقع WordPress أو من المنتدى نفسه، يتم إعادة توجيهي إلى موقع WordPress.

مساعدة :slight_smile:
إيفلين

مرحباً،
لقد حاولت إيقاف المعاينة حتى تتمكن من رؤية الرابط فعلياً..
أحاول تعديله حتى تتمكن من رؤيته.

*2ttps://forum.richarddolanmembers.com/session/sso?return_path=https://forum.richarddolanmembers.com/

إيفلين

مرحبًا سيمون،
لاحظنا أن المستخدمين الذين يتمتعون بصلاحيات المسؤول على Discourse لا يرون هذه الصلاحيات عند تسجيل الدخول عبر SSO. أحد المتعاونين معي يستطيع تسجيل الدخول عبر عملية SSO لكنه لا يرى صلاحيات المسؤول الخاصة به. أما أنا فلا أستطيع تسجيل الدخول على الإطلاق - ما زلت أحاول معرفة السبب.
هل توجد طريقة للسماح لمستخدمي المسؤولين بتسجيل الدخول مباشرة إلى Discourse خارج نطاق SSO حتى يتمكنوا من إدارة الموقع؟ أو التأكد من حصولهم على جميع صلاحيات Discourse الكاملة عند تسجيل الدخول عبر تسجيل الدخول بالموقع عبر SSO؟

شكرًا لك!
إيفلين

نعم، إذا قمت بقفل نفسك خارج Discourse أثناء إعداد SSO، انتقل إلى http://forum.example.com/u/admin-login. (استبدل forum.example.com بنطاق منتداك.) أدخل عنوان بريدك الإلكتروني في النموذج الموجود في الصفحة ثم انقر على الرابط في البريد الإلكتروني الذي ستستلمه.

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

راجع Debug and fixing common DiscourseConnect issues لمعرفة ما إذا كان ذلك يمنحك أي تلميحات لحل مشاكل SSO الخاصة بك. من المرجح أن المشكلات التي تواجهها مرتبطة بما هو موصوف في قسم ‘حل مشاكل تسجيل الدخول عبر SSO التي تتطلب تفعيلًا’ في ذلك الموضوع. لا أعتقد أن موقعك يستخدم نظام التسجيل الافتراضي في WordPress، لذا فإن الحسابات الجديدة التي تم إنشاؤها منذ تثبيت إضافة WP Discourse ستكون معلمة require_activation مضبوطة على true في حمولة SSO.