يمكنك استخدام Discourse كنظام تعليقات لـ Wordpress. تعتمد ميزات التعليق على ميزات النشر، لذا تحتاج إلى إعداد النشر لكي تعمل التعليقات. إذا قمت بإعداد النشر وكنت مستعدًا لإعداد التعليقات، شاهد هذا الفيديو القصير، أو اتبع التعليمات أدناه.
الخطوة التالية
بمجرد إعداد التعليقات، قد ترغب في الاطلاع على المواضيع التالية
تعليمات
إعداد التعليقات
لجعل تعليقات Discourse تظهر على موقع WordPress الخاص بك، يجب عليك تحديد إعداد “تمكين تعليقات Discourse”. عند تمكينه، سترى خيارين. سيقوم خيار “عرض التعليقات” بتحميل قالب تعليقات لكل منشور WordPress تم نشره على Discourse. سيعرض هذا القالب تعليقات Discourse أسفل منشورات WordPress. سيقوم خيار “عرض رابط للتعليقات” بتحميل قالب تعليقات يعرض رابطًا للموضوع المرتبط في Discourse أسفل المنشورات المنشورة. سيتم عرض عدد الردود على الموضوع في الرابط، ولكن لن يتم عرض أي ردود على WordPress.
تعمل كلتا خيارات التعليق هذه عن طريق تحميل قوالب التعليقات لمنشورات WordPress. هذا يعني أنها ستعمل فقط إذا كانت التعليقات ممكّنة للمنشور. إذا كنت ترغب في تمكين التعليقات لجميع المنشورات، ولكن لا تريد عرض أي تعليقات WordPress تاريخية للمنشورات التي لم يتم نشرها على Discourse، فقم بتمكين إعداد “إزالة قالب تعليقات WordPress”.
إعدادات
إليك بعض الأوصاف المختصرة لما تفعله إعدادات التعليقات الأخرى. إذا كنت لا تزال غير متأكد من أي من الإعدادات، قم بالرد على هذا الموضوع واطلب مزيدًا من التوضيح.
تحميل التعليقات باستخدام Ajax
يُستخدم هذا الإعداد لتحميل التعليقات من عميل WordPress، بدلاً من تحميلها من الخادم. هذا مفيد إذا كان تخزين الصفحات المؤقت يمنع تحميل التعليقات الجديدة على موقعك.
تحميل CSS التعليقات
يقوم هذا الإعداد بتحميل ورقة أنماط تصلح المشكلات المتعلقة بـ Discourse oneboxes والاقتباسات عند عرضها على WordPress.
عرض تعليقات WP الموجودة
حدد هذا الإعداد لعرض تعليقات WordPress الموجودة أيضًا للمنشورات التي تم نشرها أيضًا على Discourse، وحدد الإعداد.
عنوان التعليقات الموجودة
إذا كنت تعرض التعليقات الموجودة، فسيضيف هذا الإعداد عنوانًا فوق تعليقات WordPress.
إعدادات الاستيراد الانتقائي
هناك عدد من الإعدادات التي تسمح لك باستيراد التعليقات بشكل انتقائي. يجب أن تكون هذه واضحة بذاتها. القيم الافتراضية لكل من هذه هي مكان جيد للبدء، لذا قم بتغييرها فقط إذا كان لديك سبب لذلك
- الحد الأقصى للتعليقات المرئية
- الحد الأدنى لعدد الردود
- الحد الأدنى لدرجة المنشورات
- الحد الأدنى لمستوى الثقة
- تجاوز درجة مستوى الثقة
- استيراد الإعجابات من المشرف فقط
تنسيق التاريخ والوقت المخصص
يقوم هذا الإعداد بتنسيق التاريخ المعروض لكل تعليق Discourse يظهر على موقع WordPress الخاص بك. ابدأ بالقيمة الافتراضية. إذا وجدت أنك تريد تغيير تنسيق التاريخ، فانقر فوق الرابط في وصف الإعداد للحصول على تفاصيل حول كيفية القيام بذلك.
تخزين مؤقت لـ HTML التعليقات
يمكن استخدام هذا الإعداد لتحسين الأداء. يؤدي تخزين HTML التعليقات مؤقتًا إلى تقليل عدد الطلبات المقدمة إلى Discourse. يرتبط إعداده “مسح HTML التعليقات المخزن مؤقتًا” بوضوح.
سجلات التعليقات المطولة
سيؤدي تمكين هذا إلى تسجيل جميع عمليات استرداد التعليقات الناجحة من Discourse، بالإضافة إلى الأخطاء (الافتراضي).
مزامنة خطاف الويب لبيانات التعليقات
يمكن أن يؤدي تمكين خطاف الويب لمزامنة بيانات التعليقات في لوحة إعدادات “خطافات الويب” إلى تقليل عدد طلبات واجهة برمجة التطبيقات (API) التي يتم إجراؤها من WordPress إلى Discourse بشكل كبير. قبل تمكين خطاف الويب
-
قم بزيارة عنوان URL الخاص بـ Discourse المقدم في وصف الإعداد (
http://forum.example.com/admin/api/web_hooks). -
انقر فوق الزر “خطاف ويب جديد” واملأ النموذج
-
في حقل “عنوان URL للحمولة”، أدخل عنوان URL المقدم في وصف حقل “مزامنة بيانات التعليقات” الخاص بـ WP Discourse. سيكون شيئًا كهذا، باستثناء استخدام عنوان URL الخاص بموقع WordPress الخاص بك:
https://wp-discourse.dev/wp-json/wp-discourse/v1/update-topic-content. -
تأكد من تعيين حقل “نوع المحتوى” إلى
application/json. -
في حقل “السر”، أدخل سلسلة نصية، بطول 12 حرفًا على الأقل. ثم انسخ نفس المفتاح هذا إلى إعداد “مفتاح سر خطاف الويب” الخاص بـ WP Discourse.
-
في مربع “أي الأحداث يجب أن تشغل خطاف الويب هذا؟”، تأكد من تحديد “حدث المنشور”.
-
استخدم حقل “الفئات المشغلة” إذا كنت تنشر المنشورات فقط من WordPress إلى فئات معينة. بهذه الطريقة، لن يحتاج موقع WordPress الخاص بك إلى معالجة طلبات خطاف الويب للمواضيع التي ليس لها منشور Discourse مرتبط.
-
اترك إعداد “التحقق من شهادة TLS لعنوان URL للحمولة” ممكّنًا.
أخيرًا، قم بتمكين مربع الاختيار “نشط”، وانقر فوق “إنشاء”. عند حفظ خطاف الويب، انقر فوق الزر “الانتقال إلى الأحداث”.
-
-
بالعودة إلى WordPress، تأكد من أنك أدخلت سر خطاف الويب من Discourse في حقل “مفتاح سر خطاف الويب” وقم بتمكين إعداد خطاف الويب “مزامنة بيانات التعليقات”. ثم احفظ الخيارات.
يجب أن يعمل خطاف الويب الخاص بـ Discourse الآن. يجب عليك التحقق منه عن طريق النقر فوق الزر “Ping” الخاص بخطاف الويب على Discourse (الموجود في /admin/api/web_hooks/:webhook_id/events). تأكد من أن اختبار خطاف الويب يعيد رمز حالة 200.
ضبط فترة مزامنة عدد التعليقات لصفحات أرشيف WordPress
للحصول على العدد الصحيح لتعليقات Discourse لمنشور ما، يحتاج المكون الإضافي إلى إجراء طلب HTTP بشكل دوري إلى Discourse للحصول على عدد التعليقات الحالي. في الصفحات الفردية، يتم تعيين هذه الفترة لعدم تكرارها أكثر من كل 10 دقائق. بالنسبة لصفحات الأرشيف، يتم تعيين الفترة لعدم تكرارها أكثر من مرة كل 24 ساعة. السبب في ذلك هو تجنب إجراء طلبات متعددة إلى Discourse في كل مرة يتم فيها الوصول إلى صفحة أرشيف.
إذا كنت لا تزال تجد أن المكون الإضافي يجري طلبات كثيرة جدًا إلى Discourse عند عرض صفحات الأرشيف لموقعك، يمكنك ضبط archive_page_sync_period عن طريق الربط بمرشح 'discourse_archive_page_sync_period'. يمكنك القيام بذلك عن طريق إضافة شيء مثل هذا إلى ملف functions.php الخاص بالسمة الخاصة بك:
add_filter( 'discourse_archive_page_sync_period', 'my_namespace_archive_page_sync_period' );
function my_namespace_archive_page_sync_period( $sync_period ) {
// This will change to sync_period for archived posts to once a week.
return WEEK_IN_SECONDS;
}
إذا وجدت أن المكون الإضافي لا يقوم بما يكفي من الطلبات إلى Discourse لاسترداد أرقام التعليقات الحالية لصفحات الأرشيف، يمكنك إضافة شيء مثل هذا إلى ملف functions.php الخاص بالسمة الخاصة بك. سيؤدي هذا إلى تعيين archive_page_sync_period إلى 10 دقائق.
ملاحظة: على موقع مزدحم، قد يضع هذا عبئًا ثقيلًا على خادمك.
add_filter( 'discourse_archive_page_sync_period', 'my_namespace_archive_page_sync_period' );
function my_namespace_archive_page_sync_period( $sync_period ) {
// This will change to sync_period for archived posts to once a week.
return 10 * MINUTE_IN_SECONDS;
}
عرض التعليقات دون تحميل قالب تعليقات WordPress
يستخدم المكون الإضافي WP Discourse قالب تعليقات WordPress لتحميل تعليقات Discourse. إذا كانت السمة الخاصة بك لا تقوم بتحميل قالب التعليقات، يمكنك عرض التعليقات باستخدام الدالة المساعدة الثابتة get_discourse_comments. تتطلب هذه الدالة منك توفير معرف منشور WordPress الذي تريد عرض التعليقات له. إليك مثال بسيط لاستخدامها:
use WPDiscourse\Utilities\Utilities as DiscourseUtilities;
$discourse_comments = DiscourseUtilities::get_discourse_comments(859);
echo $discourse_comments;
سيتم عرض التعليقات بنفس الطريقة التي يتم عرضها بها إذا حددت خيار “تمكين تعليقات Discourse/عرض التعليقات” (الموجود في علامة تبويب إعدادات التعليقات الخاصة بالمكون الإضافي). عند استخدام هذه الدالة، يتم تجاهل قيمة هذا الإعداد، ولكن يتم احترام جميع إعدادات التعليقات الأخرى.
استكشاف الأخطاء وإصلاحها
القضية الأكثر شيوعًا مع تعليقات Discourse هي أنها قد لا تظهر فورًا بعد نشر المنشور على Discourse. هذا التأخير مقصود حيث يحاول المكون الإضافي تقليل عدد الطلبات التي يحتاج إلى إجراؤها إلى Discourse. إجراء طلب في كل مرة يتم فيها تحميل الصفحة سيؤدي إلى إبطاء موقعك. إذا لم ترَ التعليقات تظهر فورًا، انتظر 10 دقائق قبل تحديث الصفحة مرة أخرى.
مشكلات في عدد التعليقات عند عرض تعليقات Discourse و WordPress معًا
يستخدم المكون الإضافي wp-discourse خطاف تصفية WordPress get_comments_number حتى يمكن عرض عدد تعليقات Discourse التي تم إنشاؤها لمنشور ما في جميع أنحاء السمة الخاصة بك. هذا يخلق تعارضًا عند عرض تعليقات Discourse و WordPress معًا لمنشور ما. يمكن للمكون الإضافي حل هذا التعارض في معظم الأماكن. أحد الأماكن التي لا يمكن حلها فيها هو عنوان التعليق الذي غالبًا ما تعرضه سمات WordPress في رأس قسم التعليقات. هذا هو القسم الذي يبدأ بشيء مثل “2 thoughts on…”.
أسهل طريقة للقيام بذلك هي إضافة قاعدة إلى ملف css الخاص بالسمة الخاصة بك.
.discourse-comments-area ~ .comments-area .comments-title {
display: none;
}


