لم يُنشر المنشور بشكل صحيح على Discourse – مفقود الرابط الدائم في استجابة API

أواجه مشكلة مع إضافة Discourse WordPress عند محاولة نشر منشور WordPress إلى Discourse.

وصف المشكلة:

عند إنشاء منشور جديد على موقع WordPress الخاص بي وتحديد خيار “النشر إلى Discourse” ضمن علامة التبويب Discourse قبل النشر، يتم نشر المنشور بنجاح إلى WordPress. ومع ذلك، فإن موضوع Discourse لا يتم إنشاؤه في ذلك الوقت.

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

نتائج التصحيح:

أثناء التصحيح، لاحظت استدعاء لـ:
/wp-json/wp-discourse/v1/publish-topic

يعيد الاستجابة التالية:

{
  "publish_response": "success",
  "permalink": ""
}

كما ترى، فإن حقل “permalink” فارغ. يبدو أن هذا هو السبب الرئيسي لإنشاء موضوع Discourse ولكن عدم ربطه بمنشور WordPress (أي، لم يتم تخزين الرابط الدائم في postmeta، لذلك الرابط بين WP و Discourse مكسور).

هل يمكنك المساعدة في التحقيق في سبب إرجاع الرابط الدائم فارغًا في استجابة واجهة برمجة التطبيقات؟ هل هناك خطأ في تكوين الإضافة أو خطأ في سير عمل النشر؟

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

مرحباً @techops، هل يمكنك من فضلك مشاركة أي سجلات ذات صلة من WP Discourse > السجلات في ووردبريس. يرجى أيضاً مشاركة الملف التعريفي من هذا العرض إذا أمكن.

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

مرحباً أنجوس،

شكراً على الرد السريع.

لا توجد سجلات متاحة تحت WP Discourse > Logs في لوحة تحكم ووردبريس، عرض السجلات فارغ حاليًا.

ومع ذلك، إليك الملف التعريفي الذي طلبته: Discourse meta - Google Docs

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

شكراً!

شكراً @techops، هناك بعض الأشياء التي أود القيام بها.

يرجى تعطيل هذا الإعداد في إعدادات النشر

إرسال إشعار بريد إلكتروني عند فشل النشر

يرجى التأكد من تمكين هذا الإعداد في إعدادات النشر

سجلات النشر المطولة

لديك عدد من أنواع المشاركات معدة للنشر

post,event,groups,collections,podcast

مع أي نوع من أنواع المشاركات تواجه هذه المشكلة؟ إذا لم يكن post، فهل يمكنك شرح المزيد حول كيفية إعداد نوع المشاركة هذا؟

مرحباً يا أنجوس،
لقد طبقت الإعدادات المقترحة:

  • معطل: إرسال إشعار البريد الإلكتروني عند فشل النشر
  • ممكّن: سجلات النشر المطولة

أنا أستخدم نوع المنشور post فقط.

بعد تحديث الإعدادات، قمت بإنشاء ونشر منشور جديد إلى Discourse. إليك السجلات التي تم إنشاؤها:

[2025-04-22 15:58:12] publish.INFO: create_post.post_success {"wp_title":"test post 4","wp_author_id":"221","wp_post_id":15068} 
[2025-04-22 15:58:12] publish.INFO: create_post.body_valid {"wp_title":"test post 4","wp_author_id":"221","wp_post_id":15068} 
[2025-04-22 15:58:12] publish.INFO: create_post.after_publish {"post_id":15068,"remote_post_type":"create_post","discourse_post_id":"","discourse_topic_id":"6910","discourse_permalink":""} 

أخبرني إذا كنت بحاجة إلى أي معلومات أو تفاصيل إضافية.

شكراً!

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

  1. أنا أكتب منشورًا في ووردبريس.
  2. بعد نشر المنشور، أتوقع أن أرى…

حاول عدم افتراض أي أمور تقنية في هذه المرحلة. شكرًا لك!

مرحبًا أنجوس،
لقد كتبت منشورًا في ووردبرس.
بعد نشر المنشور، أتوقع أن أرى السلوك التالي:

عندما يكون المربع تحت ‘نشر إلى Discourse’ محددًا، فإن السلوك الصحيح هو أن يتم إنشاء منشور في Discourse، ويجب أن يكون مرتبطًا بالمنشور في ووردبرس.

ومع ذلك، ما يحدث فعليًا هو أن المنشور يُنشأ في Discourse، ولكن يتم فقدان الرابط على الفور. ثم يجب إعادته يدويًا.

شكرًا!

شكراً، هل يمكنك أيضًا تأكيد ما يلي:

  1. أي منشئ منشورات WordPress تستخدم؟ كلاسيكي أم غوتنبرغ؟ هل يتم إنشاء هذه المنشورات بطريقة غير قياسية (مثلاً، أرى أنك تستخدم “Gravity Forms Advanced Post Creation”)
  2. هل يمكنك مشاركة مثال على منشور WordPress وموضوع على Discourse حيث يحدث هذا المشكلة؟
  3. هل تستخدم أي إضافة تعدل حقول بيانات WordPress (مثل حقول مخصصة متقدمة)؟

شكراً للمتابعة. إليك التفاصيل:

  • نحن نستخدم محرر Gutenberg لإنشاء المنشورات.
  • نحن لا نستخدم أي إضافات للحقول المخصصة مثل Advanced Custom Fields.
  • لقد سجلت فيديو يوضح المشكلة لمراجعتك. يمكنك مشاهدته هنا.

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

شكراً!

شكراً لتسجيل الفيديو. يبدو أنك تستخدم سير عمل نشر مخصص لنشر المشاركات.

قد يكون هذا مرتبطًا بالمشكلة.

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

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

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

شكراً، أنغوس.

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

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

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