لم أتمكن من العثور على أي استدعاءات لواجهة برمجة التطبيقات (API) في أي من سجلات Discourse. ومع ذلك، الخبر السار هو أنني أعتقد أننا ربما قمنا بحل المشكلة.
كانت الشفرة المختصرة الأصلية تستخدم source="top" وبعض المعلمات الأخرى، لذا قمت بتجريد الشفرة المختصرة ببطء حتى كانت تستخدم فقط الإعدادات الافتراضية عن طريق الحذف. كنت أعتقد أن source="latest" فقط هو الذي يستخدم خطاف الويب (webhook) وفقًا للغة مربع الاختيار في إعدادات مسؤول ووردبريس، لكننا قمنا بتمكين خطاف ويب لأحدث الموضوعات (وقمنا أيضًا بتقييد المشغل ليشمل فقط الفئات التي أردنا عرضها) ثم عندما أعدت إضافة الفئة الأصلية، بدأت الشفرة المختصرة في احترام قيود الفئة! (لم تحترم قيود الفئة مع source="latest" أيضًا حتى قمت بتمكين خطاف الويب، على الرغم من مسح ذاكرة التخزين المؤقت لـ HTML من خلال صفحة مسؤول ووردبريس، ومصادر التخزين المؤقت الأخرى التي لدينا للموقع.)
بعد رؤية النتائج المرجوة باستخدام خطاف الويب + source="latest"، قمت بتغيير المصدر مرة أخرى إلى “top” ثم أعدت إضافة المعلمات الأصلية تدريجيًا. حتى الآن، حافظت على احترام قيود الفئة. تركت خطاف الويب ممكّنًا.
إذا كان خطاف الويب هو ما يساعد (حتى الآن، وليس مجرد شيء خدم كإعادة تعيين بشكل ما)، أقترح تغيير صياغة صفحة مسؤول ووردبريس من “استخدام خطاف ويب Discourse لتحديث قائمة الموضوعات ‘الأحدث’” إلى “استخدام خطاف ويب Discourse لتحديث قائمة [discourse_topics]” (أو شيء آخر لتوضيح أنه لا يهم المصدر الذي تستخدمه في قائمة الموضوعات، فمن المحتمل أن يكون خطاف الويب هو الحل السحري الذي نبحث عنه).
مرحباً رايان، لا تعد معاينات صور الموضوعات أو أسماؤها من ميزات المكون الإضافي، ومع ذلك يمكنك استخدام هذه المرشحات لتطبيق التنسيق الخاص بك وربما إضافة هذه العناصر.
لتجاوز إخراج HTML بالكامل، استخدم هذين المرشحين (أي ما يعادل add_filter)
// إرجاع false لاستخدام التنسيق الخاص بك
apply_filters( 'wpds_use_plugin_topiclist_formatting', true );
// إرجاع إخراج HTML الخاص بك من بيانات discourse_topics
apply_filters( 'wpds_after_topiclist_formatting', $output, $discourse_topics, $args );
صحيح. إذا كان الموضوع يقع في فئة متداخلة، فلن تظهر الشارة. تُظهر لقطة الشاشة أدناه الشارة المفقودة. هذا موضوع داخل الفئة المتداخلة “عام >> الأخبار والأحداث”. إذا قمت بتغيير فئة الموضوع إلى الفئة الأصلية “عام”، فستظهر الشارة كما في الموضوع الثاني أدناه..
شكرا لك. على أي حال، لقد أضفت سمة “اسم حقيقي” لاستبدال أسماء المستخدمين ونشرت تغييراتي داخل هذا المستودع.. أنا جديد جدًا على git لذا أعتذر إذا لم تتبع قنوات الالتزام الصحيحة، ولكن التغييرات موجودة إذا كانت مفيدة لأي شخص آخر..
القضية الكبيرة مع هذه الإضافة لا تزال عدم القدرة على تضمين/استبعاد حسب الفئة. في منتدى خاص قائم على العضوية، إما أن ترى جميع الفئات أو لا ترى أيًا منها، مما يعني أنه لا توجد طريقة لاستبعاد مواضيع الموظفين من الظهور لقاعدة الأعضاء الأوسع.
ومع ذلك، يبدو أن هناك حلاً بديلاً سهلاً يمكن أن يكون عن طريق التعليق على طلب ajax والاعتماد حصريًا على الـ webhook. لدينا مشغلات معدة لاستبعاد فئة الموظفين في الـ webhook..