ترتيب حسب الإعجابات في 2.5.0.beta6

في السابق، كنا نستخدم اقتراح من @sam لتوفير خيار لترتيب المواضيع في فئة ما بناءً على عدد الإعجابات، ولكن اعتبارًا من الإصدار 2.5.0.beta6، يبدو أن هذا لم يعد يعمل.

TypeError: undefined is not an object (evaluating 'Discourse.SiteSettings.top_menu = 'categories|latest|top|new|unread'')

هل توجد طريقة جديدة لتمكين هذه الوظيفة؟

حسنًا، لم أواجه نفس الخطأ فورًا عند تجربته. مع ذلك، فإن الكود الذي ربطت به قديم نسبيًا هذه الأيام! أعتقد أن هذا يجب أن يغطي معظم الأنماط الحديثة ويحقق النتيجة نفسها (أو أفضل). هل يمكنك تجربته، بالطبع مع قيم مناسبة لمجتمعك؟

<script type="text/discourse-plugin" version="0.10.0">
  const I18n = require("I18n").default;
  I18n.translations[I18n.locale].js.filters.topliked = { help: "الأكثر إعجابًا" };

  api.addNavigationBarItem({
    displayName: "الأكثر إعجابًا",
    name: "topliked",
    before: "top",
    href: "?order=op_likes&status=open",
    customFilter: category => {
      return category && category.name === "Testing"
    },
    forceActive: (category, args, router) => { 
        const queryParams = router.currentRoute.queryParams;
        return (
          queryParams &&
          Object.keys(queryParams).length === 2 &&
          queryParams["order"] === "op_likes" &&
          queryParams["status"] === "open"
        );
    }
  });
</script>

هذا يعمل بشكل رائع. شكرًا لك!