الانتقال من wp-discourse-embed إلى WP Discourse – المشاركات القديمة غير ظاهرة

لِمُدَّة خمس سنوات تقريبًا، كان مدونتي تعمل باستخدام wp-discourse-embed من @techAPJ. إليك مثال لمنشور
Soya Chunks Masala Dry Recipe | A Little Bit of Spice ومنشور المنتدى المقابل: Soya Chunks Masala Dry - blog - comments
تمكنت من ترحيل وإعداد WP Discourse الخاص بـ @angus:

ولكن الآن، لم تعد منشورات المنتدى القديمة تظهر كتعليقات على منشورات المدونة. المنشور أعلاه هو مثال.
أفترض أن هناك حاجة لبعض الربط.
كيف يمكنني دمج هذا؟
إليك كيف تبدو سجلاتي

والأحدث:

[2024-04-03 01:42:27] webhook_topic.ERROR: update_topic_content.webhook_verification_error [“message”,“Discourse Webhook Request Error: signatures did not match.”]

السجلات الخام هنا.

إعجاب واحد (1)

مرحباً،

حول:

هذا الخطأ يعني أن قيمة خيار Webhook Secret Key في WP-Discourse لا تتطابق مع كلمة المرور المحددة في خطاف الويب الخاص بـ Discourse. هل يمكنك التحقق من ذلك؟

سيقوم @simon بتصحيحي إذا كنت مخطئًا، ولكن نعم، يحتاج منشور WP إلى المزامنة مع موضوع Discourse. بالنسبة للمواضيع الموجودة، يجب أن يكون لديك خيار للربط بموضوع Discourse موجود:

.
بمجرد المزامنة، يجب استرداد التعليقات.

لست متأكدًا مما إذا كانت هناك طريقة أفضل؛ آمل أن يتمكن البعض من تقديم رؤى أفضل.

4 إعجابات

أنت على حق بشأن كلتا المشكلتين.

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

إذا نجح ربط موضوع ديسكورس بمنشور ووردبريس، فسيكون الشيء التالي الذي يجب اكتشافه هو كيفية ربط جميع موضوعاتك ومنشوراتك الحالية. كم عدد المشاركات القديمة لديك؟ إذا كان هناك عدد كبير جدًا من المشاركات لربطها بديسكورس يدويًا، فقد تكون هناك طريقة لأتمتة العملية.

إعجابَين (2)

شكرا لك.

إذًا، لقد فعلت هذا.

وأحصل على 200 عند إجراء اختبار ping. لذا هذا واضح.

ثم أقوم بهذا:


لكن المنشور لا يعكس ذلك

هل فاتني أي شيء آخر؟ السجلات لا تبدو وكأنها تحتوي على أي تحديث.

تحديث:
عندما أقوم بإجراء اختبار ping من خطاف Discourse

أحصل على هذا في جانب السجل

[2024-04-03 21:38:14] webhook_topic.ERROR: update_topic_content.response_body_error

هل تستخدم ووردبريس إضافة للتخزين المؤقت؟
قد تحتاج إلى تمكين هذا الإعداد:

أيضًا، إذا لم يكن تصحيح الأخطاء على التعليقات ممكّنًا بالفعل، فقد يساعد ذلك:
image

ستظهر رسالة الخطأ التي تراها إذا قمت بتشغيل “ping” لـ webhook. على جانب WordPress، يتوقع الكود وجود كائن post في webhook الذي يتم إرساله من Discourse. لن يكون المنشور في الحمولة إذا قمت فقط بالنقر فوق زر “ping”. حاول ترك تعليق على موضوع Discourse مرتبط بـ Discourse وانظر ما إذا كان هذا لا يزال يسبب لك خطأ.

لمسألة ظهور تعليقات Discourse على موقع WordPress الخاص بك:

  • تأكد من تمكين التعليقات على WordPress للمنشورات التي تنشرها على Discourse
  • تأكد من تمكين خيار “تمكين تعليقات Discourse” (Enable Discourse Comments):

إذا لم تكن قد قمت بتمكين التعليقات على موقع WordPress الخاص بك من قبل، فقد لا ترغب في تمكينها الآن للمنشورات التي لم يتم ربطها بـ Discourse بعد. لتجنب عرض نموذج تعليقات WordPress لتلك المنشورات، يمكنك تمكين التعليقات على مستوى الموقع، ثم تحديد إعداد “إزالة قالب تعليقات WordPress” (Remove WordPress Comments Template) من صفحة خيارات تعليقات WP Discourse:

أخبرنا إذا كنت لا تزال تواجه مشاكل.

إعجاب واحد (1)

تم تمكين كليهما. لم ينجح الأمر.


تم تحديث الصفحة والسجلات لا تعرض أي شيء

عندما أقوم بـ عرض مصدر الصفحة، أرى مجموعة من إشارات discourse في html. لذا فهو يحاول شيئًا ما…

هذه هي إعدادات قسم التعليقات الخاصة بي منذ فترة طويلة.

هل يمكنك التحقق من تمكين التعليقات لمنشور قمت بربطه بـ Discourse؟ في بعض الأحيان، لا يظهر خيار “المناقشة” في صفحة التعديل. قد تحتاج إلى تحديده من قائمة “خيارات الشاشة” لرؤيته:

نعم، تم تمكين هذا :frowning:

حسنًا، لا أرى أي شيء في الصفحة يشير إلى تحميل قالب التعليقات. الإشارة إلى discourse-embed-js في لقطة الشاشة الخاصة بك ليست من إضافة WP Discourse. أعتقد أنها مرتبطة بالبرنامج النصي الذي تم تحميله بواسطة إضافة wp-discourse-embed. إنها في الواقع تسبب خطأ في موقعك:

فشل في تحميل المورد: استجاب الخادم بحالة 404 () discourse-embed.js

هناك أيضًا <div> id="discourse-comments"></div> في الصفحة وهي من إضافة wp-discourse-embed، وليس من إضافة WP Discourse.

لا أنصح بتمكين إعداد “تحميل التعليقات مع Ajax” في WP Discourse حتى تتأكد من وجود مشكلة في التعليقات المخزنة مؤقتًا على الموقع. حتى لو كان الأمر كذلك، فيجب أن يكون قادرًا على عرض قالب التعليقات.

هل هناك أي إضافات مثبتة على موقعك تتعلق بالتعليقات؟ أتساءل عما إذا كانت إضافة، أو سمة الموقع تمنع تحميل قالب تعليقات ووردبريس. تعتمد إضافة WP Discourse على تحميل هذا القالب. هناك بعض الحلول البديلة لذلك، ولكنها كلها تقنية إلى حد ما.

أنا متأكد من أنه سيكون من الممكن حل الأمور :slight_smile:

إعجاب واحد (1)

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

أشك في أن الكود القديم مطلوب، أليس كذلك؟

أنا أتذكر من الذاكرة، لكن لا أعتقد أن ملف comments.php المعدل هو سبب المشكلة. ما يجب أن يحدث هو أنه بدلاً من تحميل ملف comments.php الخاص بالقالب الخاص بك، يجب أن يقوم المكون الإضافي WP Discourse بتحميل قسم التعليقات الخاص به عند استدعاء هذه الدالة من القالب الخاص بك: comments_template().

ألقِ نظرة على ملف single.php الخاص بالقالب الخاص بك، أو أي ملف يُستخدم لعرض منشور قمت بربطه بـ Discourse. انظر ما إذا كان الملف يحتوي على استدعاء لـ comments_template(). سيبدو شيئًا كهذا:

if ( comments_open() || get_comments_number() ) :
	comments_template();
endif;

إنه الاستدعاء لـ coments_template() الذي يجب أن يؤدي إلى تحميل تعليقات WP Discourse.

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

تمكنت من حل المشكلة. تم تعطيل التعليقات على مستوى السمة. تفعيلها أدى إلى حل المشكلة.

شكراً على الردود المفصلة.

إعجاب واحد (1)

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.