مكون Wp-discourse-shortcodes

أعتقد أنني قد حسمت الأمر — [discourse_latest] ليس اختصارًا صحيحًا بحد ذاته، ظننت أنني رأيته في مكان ما. قمت بتغييره إلى [discourse_topics source=“latest”] وقد نجح الأمر.

ابتسامة خجولة
راي

ملاحظة: كيف يمكنني تغيير تنسيق التاريخ في أحدث المواضيع التي تظهر عبر الاختصار، @simon؟ يظهر التاريخ على شكل 2020-10-20، وأفضل أن يكون مكتوبًا مثل Oct-20 أو ما شابه.

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

أنا متأكد إلى حد كبير أن إضافة الاختصارات تستخدم تنسيق التاريخ والوقت الذي يتم تعيينه في علامة التبويب “خيارات التعليق على WP Discourse”. انقر على الرابط في وصف هذا الإعداد لمعرفة الخيارات المتاحة لتنسيق التواريخ.

لقد نجح الأمر، شكرًا لك!

راي

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

هل يمكنك إضافة أسماء المستخدمين كعناوين لصور الرموز الافتراضية أو كخيار اختصار، وربما خيار آخر لإزالة اسم المستخدم (display_usernames = “false”؟). وفي الوقت نفسه، إذا احتاج أي شخص إلى ذلك، انتقل إلى wp-discourse-shortcodes-master/lib/discourse-topic-formatter.php واستبدل

$avatar_image = '<img class="wpds-latest-avatar" src="' . esc_url_raw( $poster_avatar_url ) . '">';

بـ

$avatar_image = '<img class="wpds-latest-avatar" title="'. esc_html( $poster_username ) . '" src="' . esc_url_raw( $poster_avatar_url ) . '">';

إضافة رائعة. شكرًا لك!

أيضًا، سيكون من المفيد تضمين رابط التصنيفات (مزيد من المعلومات هنا) كخيار داخل الاختصار الخاص بك.

هل لا يزال هذا الإضافة قيد الصيانة؟ :blush:

نعم، نحن (كومونيتيك) نقوم بصيانته الآن.

إعجابَين (2)

لا يبدو أنه يقوم بـ ‘تحديث’ أحدث المنشورات من Discourse.

يجب أن يكون هناك خطأ ما من جهتي،

[discourse_topics source=“latest”] هذا هو الشورت كود الذي أستخدمه.

لقد سحب ثلاثة مواضيع من Discourse، لكن منذ ذلك الحين أضفت مواضيع أخرى لأرى ما إذا كانت ستظهر على موقع WordPress الخاص بي.

لم تظهر.

جربت حدث Ajax ولا يزال لا يبدو أنه يسحب المنشورات الجديدة :sweat:

هل من الممكن الحصول على المواضيع من فئة معينة أو فئة فرعية فقط؟

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

لدي الكثير من المواضيع في مثيل Discourse، لكن اختصار [discourse_topics] يعيد حقلًا فارغًا وكأنه لا توجد بيانات - Screenshot - b9160f714e42b2677b01bcf00c041634 - Gyazo

ويظهر الخطأ التالي على الواجهة الأمامية: تحذير: تم تقديم وسيطة غير صالحة لـ foreach() في /home/customer/www/web.com/public_html/wp-content/plugins/wp-discourse-shortcodes-master/lib/discourse-topic-formatter.php في السطر 94

إذا كان ذلك يساعد أي شخص، فإن تغذية RSS لمجتمعي تعمل بشكل ممتاز وتعرض جميع المواضيع. ما الذي قد أكون قد أغفلته هنا؟ شكرًا مسبقًا على المساعدة :pray:

تعديل وتحديث: يبدو أن متغير topics لا يتم تعبئته في الكود.

السطر 94: foreach ( $topics as $topic ) {
.....
}

// تعريف متغير Topic
if ( $use_plugin_formatting ) {
			$topics            = $discourse_topics['topic_list']['topics'];
}

لقد عثرت على الحل. لم يكن مربع الاختيار لعرض المنشورات الخاصة مفعلًا. بخلاف ذلك، يمكن حل الخطأ بإضافة شرط للقيمة الفارغة (null) للمتغير $topics. قمت بذلك وعمل كل شيء على ما يرام.

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

لو كان PHP foreach لا يشتكي من المصفوفات الفارغة لكانت حياتي أفضل بكثير. سنضيف هذا الفحص في الإصدار القادم.

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

ما هو الخيار لتحديث ديسكورت بصورة الملف الشخصي الأحدث من ووردبريس؟

استخدام ويبهوك لمزامنة بيانات المستخدم مع ديسكورت. - والذي قمت بإنشائه ويعمل بين الموقعين لكنه لا يقوم بتحديث صورة ملف تعريف المستخدم في ديسكورت؟

هذا أخيرًا على رأس قائمتي لذا سأعمل على هذا المكون الإضافي غدًا، وأصلح بعض الأخطاء وأجيب على أسئلتك. آسف على التأخير الطويل.

3 إعجابات

هل قمت بتكوين إعداد “تمكين Discourse Webhook”؟

لقد اختبرت المكون الإضافي بشكل شامل، وأصلحت بعض الأخطاء، اثنان منها يتعلقان بفشل تحديث ذاكرة التخزين المؤقت لمخرجات الشفرة المختصرة، وقمت بتحديث ملف القراءة ودفع إصدار جديد.

لا أزال أرى مشكلة كبيرة واحدة حيث لا تعمل الشفرات المختصرة [discourse_topics] بفئات مختلفة بشكل صحيح. سيستغرق هذا قدرًا كبيرًا من العمل لإصلاحه. سأعالج هذه المشكلة أولاً بعد إجازتي القادمة.

4 إعجابات

لدي اختصار واحد فقط قيد الاستخدام في هذه النسخة، لذلك لست متأكدًا مما إذا كان ينبغي أن أواجه مشاكل. أود عرض المواضيع الخاصة، ولكن فقط من فئات معينة (والتي يتم تجميعها تحت فئة رئيسية واحدة). لا معرف الفئة الرئيسية المفرد (مثل [discourse_topics category="5" ... ]) ولا معرفات الفئات الفرعية (مثل [discourse_topics category="6,7,8,9,17" ... ]) يبدو أنها تحد النتائج لهذه الفئات (يتم عرض مواضيع خاصة إضافية لا ينبغي أن تكون). أتساءل عما إذا كان هذا هو السلوك المتوقع حاليًا (الذي ستعالجه)؟

المعرفات المتعددة للفئات غير مدعومة.

هذا ليس السلوك المتوقع بالفعل.

قد يكون الحل السريع هو تعطيل علامة الاختيار عرض المواضيع الخاصة في علامة التبويب الإعدادات. هذا لن يحل مشكلة تحديد الفئة (الفئات) الخاطئة ولكنه سيمنع ظهور المواضيع الخاصة في ووردبريس.

هل يمكنك من فضلك التحقق من سجلاتك على جانب Discourse والبحث عن استدعاء API الذي يتم إجراؤه؟ سيتم تشغيل استدعاء API عند تحرير وتغيير الصفحة على جانب ووردبريس.

لم أتمكن من العثور على أي استدعاءات لواجهة برمجة التطبيقات (API) في أي من سجلات Discourse. :woman_shrugging: ومع ذلك، الخبر السار هو أنني أعتقد أننا ربما قمنا بحل المشكلة.

كانت الشفرة المختصرة الأصلية تستخدم source="top" وبعض المعلمات الأخرى، لذا قمت بتجريد الشفرة المختصرة ببطء حتى كانت تستخدم فقط الإعدادات الافتراضية عن طريق الحذف. كنت أعتقد أن source="latest" فقط هو الذي يستخدم خطاف الويب (webhook) وفقًا للغة مربع الاختيار في إعدادات مسؤول ووردبريس، لكننا قمنا بتمكين خطاف ويب لأحدث الموضوعات (وقمنا أيضًا بتقييد المشغل ليشمل فقط الفئات التي أردنا عرضها) ثم عندما أعدت إضافة الفئة الأصلية، بدأت الشفرة المختصرة في احترام قيود الفئة! :tada: (لم تحترم قيود الفئة مع source="latest" أيضًا حتى قمت بتمكين خطاف الويب، على الرغم من مسح ذاكرة التخزين المؤقت لـ HTML من خلال صفحة مسؤول ووردبريس، ومصادر التخزين المؤقت الأخرى التي لدينا للموقع.)

بعد رؤية النتائج المرجوة باستخدام خطاف الويب + source="latest"، قمت بتغيير المصدر مرة أخرى إلى “top” ثم أعدت إضافة المعلمات الأصلية تدريجيًا. حتى الآن، حافظت على احترام قيود الفئة. تركت خطاف الويب ممكّنًا.

إذا كان خطاف الويب هو ما يساعد (حتى الآن، وليس مجرد شيء خدم كإعادة تعيين بشكل ما)، أقترح تغيير صياغة صفحة مسؤول ووردبريس من “استخدام خطاف ويب Discourse لتحديث قائمة الموضوعات ‘الأحدث’” إلى “استخدام خطاف ويب Discourse لتحديث قائمة [discourse_topics]” (أو شيء آخر لتوضيح أنه لا يهم المصدر الذي تستخدمه في قائمة الموضوعات، فمن المحتمل أن يكون خطاف الويب هو الحل السحري الذي نبحث عنه). :joy:

هذه إضافة رائعة. سؤالان حول الميزات:

  1. هل من الممكن عرض الصور داخل المنشورات، كما هو الحال مع البرنامج النصي المضمن باستخدام template="complete"؟

  2. هل من الممكن استبدال أسماء المستخدمين بالأسماء الحقيقية؟

شكراً جزيلاً لك.