يشرح هذا الدليل كيفية استخدام سلاسل الاستعلام للحصول على عروض مواضيع مخصصة ومُرشَّحة في أي موقع Discourse. يمكن لجميع المستخدمين استخدام سلاسل الاستعلام لعرض قوائم محددة من المواضيع، وإنشاء روابط مخصصة لقوائم مواضيع فريدة، والبحث عن مواضيع تستوفي معايير محددة.
مستوى المستخدم المطلوب: جميع المستخدمين
سلاسل الاستعلام هي نصوص يمكنك إرفاقها بنهاية معظم عناوين URL الخاصة بـ Discourse للحصول على عرض مخصص ومُرشَّح للمواضيع. يمكن أن تكون مفيدة لعرض قوائم محددة من المواضيع، وإنشاء روابط مخصصة لقوائم مواضيع فريدة، والبحث عن مواضيع تستوفي معايير محددة.
فهم سلاسل الاستعلام
تُضاف سلسلة الاستعلام إلى نهاية عنوان URL، بدءًا بعلامة استفهام (?)، تليها المعلمات وقيمها. على سبيل المثال:
https://meta.discourse.org/?status=open
في عنوان URL هذا، ?status=open هي سلسلة الاستعلام.
سيظل قائمة المواضيع التي تظهر عند استخدام سلاسل الاستعلام محدودة بالمواضيع التي يمكن الوصول إليها من خلال حساب المستخدم الخاص بك. لا حاجة لتفعيل أي إعدادات لاستخدام سلاسل الاستعلام.
معلمات سلسلة الاستعلام المتاحة
إليك معلمات سلسلة الاستعلام التي يمكنك استخدامها في جميع مواقع Discourse:
الحالة (Status)
استخدم ?status=_ لعرض المواضيع ذات حالة محددة:
open: مواضيع مفتوحة فقطclosed: مواضيع مغلقة فقطarchived: مواضيع مؤرشفة فقطlisted: مواضيع مدرجة (مرئية) فقطunlisted: مواضيع غير مدرجة فقطdeleted: مواضيع محذوفة فقطpublic: مواضيع في فئات عامة (غير مقيدة بالقراءة) فقط
البحث (Search)
استخدم ?search=_ لإنشاء صفحة كاملة لنتائج البحث. استبدل `_ بكلمات البحث الخاصة بك.
الحالة الشخصية (State)
استخدم ?state=_ لعرض المواضيع ذات حالة شخصية محددة:
muted: عرض المواضيع التي كتمت صوتهاnormal: عرض المواضيع التي قمت بتعيينها إلى الحالة العاديةtracking: عرض المواضيع التي تتابعهاwatching: عرض المواضيع التي تراقبهاwatching_first_post: عرض المواضيع في الفئات أو ذات الوسوم التي تراقب أول منشور فيها
الترتيب التصاعدي (Ascending order)
استخدم ?ascending=true لعرض المواضيع حسب التاريخ بترتيب تصاعدي. الافتراضي هو الترتيب التنازلي.
الترتيب (Order)
استخدم ?order=_ لعرض المواضيع بترتيب تنازلي حسب معايير مختلفة:
likes: حسب عدد الإعجاباتop_likes: حسب الإعجابات على المنشور الأصليviews: حسب عدد المشاهداتposts: حسب عدد المنشورات (الردود)activity: حسب تاريخ آخر نشاط (يشمل تاريخbumped_at)posters: حسب عدد المشاركينcategory: حسب اسم الفئة (من Z إلى A)created: حسب تاريخ إنشاء الموضوع (المواضيع الأحدث أولاً)
مرشحات عدد المنشورات
?max_posts=_: يعيد المواضيع التي يكون عدد منشوراتها `_ أو أقل?min_posts=_: يعيد المواضيع التي يكون عدد منشوراتها `_ أو أكثر
مرشحات العمر
?before=_: يعيد المواضيع التي تم إنشاؤها منذ أكثر من `_ يومًا?bumped_before=_: يعيد المواضيع التي تم رفعها آخر مرة منذ أكثر من `_ يومًا
معرفات المواضيع (Topic IDs)
استخدم ?topic_ids=_ لعرض قائمة مواضيع بمعرفات محددة. يقبل سلسلة مفصولة بفواصل من معرفات المواضيع.
الفئة (Category)
استخدم ?category=_ لعرض قائمة مواضيع لفئات محددة. يقبل سلسلة مفصولة بفواصل من أرقام معرفات الفئات.
استخدم ?no_subcategories=true لاستبعاد المواضيع من الفئات الفرعية عند التصفية حسب الفئة.
الوسوم (Tags)
استخدم ?tags=_ لتصفية المواضيع حسب الوسوم. على سبيل المثال، https://meta.discourse.org/?tags=how-to ستعرض جميع المواضيع ذات وسم how-to.
استخدم ?match_all_tags=true مع ?tags=_ لاشتراط أن تحتوي المواضيع على جميع الوسوم المحددة (بدلاً من أي منها).
استخدم ?no_tags=true لعرض المواضيع التي لا تحتوي على وسوم فقط.
استخدم ?exclude_tag=_ لاستبعاد المواضيع ذات وسم محدد.
فلتر الإعجاب (Liked filter)
استخدم ?f=liked لعرض المواضيع التي أعجب فيها المستخدم الحالي بمنشور فقط.
معلمات خاصة بالإضافات
تضيف بعض الإضافات معلمات سلسلة استعلام إضافية:
إضافة Solved
إذا كانت إضافة Solved مثبتة:
?solved=yes: عرض المواضيع المحلولة?solved=no: عرض المواضيع غير المحلولة
إضافة Assign
إذا كانت إضافة Assign مثبتة:
?assigned=username: عرض جميع المواضيع المعينة لمستخدم محدد?assigned=*: عرض جميع المواضيع المعينة لجميع المستخدمين?assigned=me: عرض جميع المواضيع المعينة للمستخدم الحالي?assigned=nobody: عرض جميع المواضيع غير المعينة
دمج سلاسل الاستعلام
يمكنك دمج سلاسل استعلام متعددة باستخدام رمز علامة & (&). عند استخدام سلاسل استعلام متعددة، فإن المعلمة الأولى فقط تحتاج إلى رمز ?. على سبيل المثال:
https://meta.discourse.org/?max_posts=1&status=closed
سيظهر عنوان URL هذا مواضيع مغلقة تحتوي على منشور واحد فقط.
استخدام صفحة البحث المتقدمة
يمكنك أيضًا استخدام صفحة البحث المتقدمة لبناء عناوين URL هذه باستخدام واجهة مستخدم رسومية، ثم نسخ عنوان URL الناتج. لاحظ أن بعض فلاتر البحث قد لا تعمل كمعلمات لسلسلة استعلام خارج سياق البحث.