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>

これで完璧に動作します。ありがとうございます!