هل تحصل على خطأ عند محاولة نشر أي منشور على Discourse، أم أن المشكلة تقتصر على منشور معين؟
يبدو غير مرجح أن يكون ترقية Discourse 2.6.0.beta1 هو سبب المشكلة. هل تم إجراء أي تغييرات على موقع WordPress الخاص بك في الوقت الذي توقفت فيه الإضافة عن العمل بالنسبة لك؟
قد يكون من المفيد إنشاء مفتاح API جديد من صفحة الإدارة / API في Discourse. تأكد من أن المفتاح هو مفتاح عالمي (يسمح بجميع الإجراءات). كما تأكد من تعيين اسم المستخدم الناشر بشكل صحيح في تبويب إعدادات WP Discourse Connection. وبما أنك قادر على ربط مواضيع Discourse الموجودة، لكن لا يمكنك نشر مواضيع جديدة على Discourse، فمن الممكن أن تكون المشكلة مرتبطة بأذونات API.
أخيرًا، تحقق من القيم التي يتم تعيينها لحقول المخصصات عند محاولة نشر مشاركة من WordPress إلى Discourse. إذا قمت بتفعيل الحقول المخصصة في المحرر، فستظهر لك شيئًا مشابهًا لهذا في أسفل المحرر:
أنا أيضًا مندهش، لكنها حقًا لا تُظهر أي شيء على الإطلاق. لو كانت ستُظهر شيئًا لكان خطأ 400 (لأن هذا ما ورد في production.log)، لكنها لا تُظهر ذلك.
تحديث: بعد التعمق في الكود، أستطيع أن أرى أنه لن يكون هناك خطأ؛ فكل شيء يتم التقاطه. إذا قمت بتفعيل تقارير البريد الإلكتروني (بريد إلكتروني ولكن بدون error_log()؟)، فستخبرك بما يلي:
سبب الفشل:
تم استرداد رمز استجابة 400 من Discourse.
طلب غير صالح
ولكن هذا كل شيء.
لقد قمت بذلك بالفعل، ولا يوجد فرق. كان هذا الملاذ الأخير؛ فقد تم تحديث طابع “آخر استخدام” في المفتاح السابق عندما حاولت النشر، لذا كنت أعرف أن هذا لم يتغير بطريقة ما، لكنني اعتقدت أنه يستحق المحاولة.
publish_post_category: 23
update_discourse_topic: 0
wpdc_publishing_error: طلب غير صالح
wpdc_unlisted_topic: 1
هذا كل شيء. وأوه، وقبل أن تسأل، يحدث نفس الشيء حتى لو لم أقوم بتعيين “النشر كغير مدرج”، ولكن مع الفرق المتوقع في بيانات التعريف الخاصة بالمنشور.
لست متأكدًا مما قد يسبب استجابة 400. هل يمكنك تجربة تثبيت Health Check & Troubleshooting – WordPress plugin | WordPress.org English (Canada) والتحقق مما إذا كان يبلغ عن أي مشكلات في موقع WordPress الخاص بك. عند تفعيل هذه الإضافة، سيتم إضافة إدخال “صحة الموقع” إلى قسم الأدوات في لوحة تحكم WordPress. قد يؤدي النقر على هذا الرابط ثم الانتقال إلى علامة التبويب الحالة إلى إظهار بعض التفاصيل المفيدة.
تتيح إضافة Health Check أيضًا تعطيل الإضافات مؤقتًا فقط لجلستك الخاصة. قد يكون هذا مفيدًا لمعرفة ما إذا كانت المشكلة مرتبطة بتعارض مع إضافة أخرى - إذا كان لديك أي إضافات متعلقة بالأمان مثبتة على موقعك، فقد يستحق الأمر التحقق مما إذا كان تعطيلها يحل المشكلة.
للأسف، لقد وصلت إلى طريق مسدود. لم يقترح ملحق فحص الصحة أي شيء مفيد (وهو أمر متوقع)، وكل شيء آخر يعمل بشكل مثالي.
لقد واجهت خطأ CSRF عندما كنت آتمت إرسال الدعوات، وهذا يعني أنك ارتكبت خطأً في الكود الخاص بك؛ ومع ذلك، في هذه الحالة لم يتغير الملحق، لذا فإن استنتاجي هو أن الإصدار 2.6.0.beta1 معطوب.
أعلم أن هذا الاستنتاج غير شعبي، لكنه الاستنتاج الوحيد المتاح لدي حاليًا.
تم التعديل للإضافة: استخدمت ملحق فحص الصحة لتعطيل جميع الإضافات الأخرى - لم يكن هناك أي فرق.