# カスタムフィルターホームページの作成

**URL:** https://meta.discourse.org/t/creating-a-custom-filter-homepage/370062
**Category:** Support
**Created:** [2025 年 6 月 13 日午後 1:49 UTC](https://meta.discourse.org/t/creating-a-custom-filter-homepage/370062 "2025-06-13T13:49:01Z")
**Posts on this page:** 12
**Page:** 1

<div class="post-metadata">

### Author: ![MihirR](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/mihirr/32/475158_2.png) [@MihirR](https://meta.discourse.org/u/MihirR)
#### Post date: [2025 年 6 月 13 日午後 1:49 UTC](https://meta.discourse.org/t/creating-a-custom-filter-homepage/370062/1 "2025-06-13T13:49:01Z")

</div>

このような動的なホームページを作成できますか？

- 最近アクティブなトピック10件（今週）
- 最新の作成トピック5件（今日）
- その他の最近のトピック5件（今週）
- 最も返信の多いトピック5件（今週）
- 最もいいねが多いトピック5件（今週）
- 最新の作成トピック5件（昨日または今日）

Discourse Filtered Topics Listには、このようなホームページを作成できるテーマコンポーネントがありますが、特定の期間しか機能しないため、毎日期間を変更する必要があるという欠点があると感じています。

つまり、今のところ、日付を追加できるという前提で機能します。

```
activity-before:YYYY-MM-DD 指定された日付より前に最新の更新があったトピック
activity-after:YYYY-MM-DD 指定された日付より後に最新の更新があったトピック
created-before: YYYY-MM-DD 指定された日付より前に作成されたトピック
created-after:YYYY-MM-DD 指定された日付より後に作成されたトピック

```

しかし、それでは常に日付を変更する必要があります。フォーラムで他にできることはありますか？

---

<div class="post-metadata">

### Author: ![MihirR](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/mihirr/32/475158_2.png) [@MihirR](https://meta.discourse.org/u/MihirR)
#### Post date: [2025 年 6 月 13 日午後 2:08 UTC](https://meta.discourse.org/t/creating-a-custom-filter-homepage/370062/2 "2025-06-13T14:08:08Z")

</div>

また、このコンポーネントの主な問題点は、ソートするたびにトピックが繰り返されることです。

---

<div class="post-metadata">

### Author: ![awesomerobot](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/awesomerobot/32/142900_2.png) [@awesomerobot](https://meta.discourse.org/u/awesomerobot)
#### Post date: [2025 年 6 月 13 日午後 2:27 UTC](https://meta.discourse.org/t/creating-a-custom-filter-homepage/370062/3 "2025-06-13T14:27:51Z")

</div>

> [@MihirR](#):
>
> - 今週最も返信の多いトピック5件
> - 今週最も「いいね！」の多いトピック5件

これらのトピックを文字通り最も返信が多い/「いいね！」が多いものにする必要がありますか？ `/top` トピックリストを使用すると、自動的に期間を設定できます… 表示回数、いいね！数、投稿数を考慮したトップ（これらの重みはサイト設定で少し調整できます）

> [@MihirR](#):
>
> また、このコンポーネントの大きな問題は、すべてのソートでトピックが繰り返されることです。

はい、これは複数のトピックリストをソースにすることの複雑さです。コンポーネントは各リストを相互参照し、重複を削除する必要があります。それほど複雑ではありませんが、利用可能なコンポーネントにこれが実装されているとは思えません。

---

<div class="post-metadata">

### Author: ![MihirR](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/mihirr/32/475158_2.png) [@MihirR](https://meta.discourse.org/u/MihirR)
#### Post date: [2025 年 6 月 13 日午後 2:35 UTC](https://meta.discourse.org/t/creating-a-custom-filter-homepage/370062/4 "2025-06-13T14:35:49Z")

</div>

完全に返信やいいね！に依存するわけではありませんが、ダイナミックなホームページを作成しようとしています。

つまり、いずれかのフィールドから重複するトピックを削除できるコンポーネントがあれば、うまくいくということでしょうか？

---

<div class="post-metadata">

### Author: ![awesomerobot](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/awesomerobot/32/142900_2.png) [@awesomerobot](https://meta.discourse.org/u/awesomerobot)
#### Post date: [2025 年 6 月 13 日午後 2:46 UTC](https://meta.discourse.org/t/creating-a-custom-filter-homepage/370062/5 "2025-06-13T14:46:06Z")

</div>

[Filtered Topic Lists](https://meta.discourse.org/t/filtered-topic-lists/321031) に「重複を非表示」機能を追加するのは、@gormus さんが興味があれば、それほど複雑ではないでしょう。`findFilteredTopics` アクションを変更して、すべてのトピックIDをリストに格納し、重複をフィルタリングすることができます。

欠点は、10個のトピックのリストを欲しい場合、重複が削除された後に5個しか得られない可能性があることですが、設定で指定された数よりも少し多めに取得することで、ある程度回避できるかもしれません。

---

<div class="post-metadata">

### Author: ![manuel](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/manuel/32/468169_2.png) [@manuel](https://meta.discourse.org/u/manuel)
#### Post date: [2025 年 6 月 13 日午後 3:12 UTC](https://meta.discourse.org/t/creating-a-custom-filter-homepage/370062/6 "2025-06-13T15:12:40Z")

</div>

以前、いくつかのプロジェクトのホームページにフィルタリングされたリストを追加したことがありますが、フィルタが重複する複数の「最新」リストを生成することについては、まず非常に活発なコミュニティが必要だと注意しておきます。コミュニティがそれほど活発であれば、動的なホームページを作成するためのより豊富なコンテンツも利用できるようになります。その場合、さまざまなリストのブロックは、静的で視覚的にあまり魅力的ではないように見えるかもしれません。

ただし、少し異なるアプローチとして、手動の時間フィルタを持つリストを1つか2つ配置することも検討できます。これは、ユーザーにとってより動的に感じられるかもしれません。このビューのように：

 ![The image shows a list of top topics with choices for sorting options like "All Time," "Yearly," "Quarterly," "Monthly," "Weekly," and "Today". (Captioned by AI)](https://global.discourse-cdn.com/meta/original/4X/1/e/b/1eb0707e305e939e85c2ac820da289930ab5cabc.png)

これは、Central theme から取り入れた機能で、ブロックコンポーネントとしてここで利用できます: [Manuel Kostka / Discourse / Blocks / Top Topics · GitLab](https://gitlab.com/manuelkostka/discourse/blocks/top-topics)

---

<div class="post-metadata">

### Author: ![MihirR](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/mihirr/32/475158_2.png) [@MihirR](https://meta.discourse.org/u/MihirR)
#### Post date: [2025 年 6 月 13 日午後 3:19 UTC](https://meta.discourse.org/t/creating-a-custom-filter-homepage/370062/7 "2025-06-13T15:19:56Z")

</div>

確かに、これはうまくいくかもしれませんが、実際にはページに複数のフィルターを設定したかったのです。

---

<div class="post-metadata">

### Author: ![MihirR](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/mihirr/32/475158_2.png) [@MihirR](https://meta.discourse.org/u/MihirR)
#### Post date: [2025 年 6 月 13 日午後 3:56 UTC](https://meta.discourse.org/t/creating-a-custom-filter-homepage/370062/8 "2025-06-13T15:56:00Z")

</div>

はい、それは実際に機能します。@gormusさんが興味を持ってくれるといいのですが :))

---

<div class="post-metadata">

### Author: ![awesomerobot](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/awesomerobot/32/142900_2.png) [@awesomerobot](https://meta.discourse.org/u/awesomerobot)
#### Post date: [2025 年 6 月 13 日午後 5:56 UTC](https://meta.discourse.org/t/creating-a-custom-filter-homepage/370062/9 "2025-06-13T17:56:58Z")

</div>

> [@MihirR](#):
>
> つまり、今のところ、次のように日付を追加できる仕組みになっています。
> 
> > activity-before:YYYY-MM-DD 指定された日付より前の最終的なトピックのbump  
> > activity-after:YYYY-MM-DD 指定された日付より後の最終的なトピックのbump  
> > created-before: YYYY-MM-DD 指定された日付より前に作成されたトピック  
> > created-after:YYYY-MM-DD 指定された日付より後に作成されたトピック
> 
> しかし、その場合は常に日付を変更しなければなりません。フォーラムで他に何かできることはありますか？

本日、これを少し改善するアップデートを行いました: [FEATURE: allow date-based filters to accept a day count by awesomerobot · Pull Request #33197 · discourse/discourse · GitHub](https://github.com/discourse/discourse/pull/33197) (Discourseを次にアップデートした際に適用されます)

これにより、activity/created-before/afterフィルターに希望する日数を入力できるようになります。例えば次のようにできます。

`activity-after:7` 過去7日間にアクティブだったトピック  
`created-after:1` 1日以上前に作成されたトピック

今日（深夜以降）を表すために0を使用することもできます。

---

<div class="post-metadata">

### Author: ![MihirR](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/mihirr/32/475158_2.png) [@MihirR](https://meta.discourse.org/u/MihirR)
#### Post date: [2025 年 6 月 13 日午後 5:59 UTC](https://meta.discourse.org/t/creating-a-custom-filter-homepage/370062/10 "2025-06-13T17:59:40Z")

</div>

うわ、早かった。ありがとうございます！！

---

<div class="post-metadata">

### Author: ![MihirR](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/mihirr/32/475158_2.png) [@MihirR](https://meta.discourse.org/u/MihirR)
#### Post date: [2025 年 7 月 5 日午後 1:17 UTC](https://meta.discourse.org/t/creating-a-custom-filter-homepage/370062/11 "2025-07-05T13:17:04Z")

</div>

Hi @awesomerobot 、必要な変更を加え、現在は完全に正常に動作していることをお知らせしたかっただけです。ありがとうございました :))

---

<div class="post-metadata">

### Author: ![system](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/system/32/443519_2.png) [@system](https://meta.discourse.org/u/system)
#### Post date: [2025 年 8 月 4 日午後 1:17 UTC](https://meta.discourse.org/t/creating-a-custom-filter-homepage/370062/12 "2025-08-04T13:17:38Z")

</div>

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.
