# Tag intersections page

**URL:** https://meta.discourse.org/t/tag-intersections-page/47952
**Category:** Feature
**Tags:** pr-welcome
**Created:** [July 29, 2016, 4:38am UTC](https://meta.discourse.org/t/tag-intersections-page/47952 "2016-07-29T04:38:56Z")
**Posts on this page:** 17
**Page:** 1

<div class="post-metadata">

### Author: ![gdpelican](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/gdpelican/32/81308_2.png) [@gdpelican](https://meta.discourse.org/u/gdpelican)
#### Post date: [July 29, 2016, 4:38am UTC](https://meta.discourse.org/t/tag-intersections-page/47952/1 "2016-07-29T04:38:57Z")

</div>

I’m currently working with @bedhed in the preliminary stages of working on the bidirectional nav / Table of Contents features described [here](https://meta.discourse.org/t/paid-fullstack-dev-for-bidimensionnal-navigation/45388/5).

One slightly large piece missing from this work is a page which could display an ‘intersection’ of tags, (ie, topics which have both the ‘pr-welcome’ and ‘votes-friendly’ tags). A mockup is here:

 ![](https://global.discourse-cdn.com/meta/original/3X/f/d/fd293d93e0750c40d2f7617398539996033dcb1f.png)

Two questions:

1. Is this a change that would be welcome / tolerated in core, if it were true that it didn’t change any existing functionality? (This strikes me as a change which is easier to make in core, rather than in a plugin)
2. (if no) Are there folks out there that would be interested in this functionality as its own separate plugin, rather than bundled up with the Table of Contents stuff?

---

<div class="post-metadata">

### Author: ![gdpelican](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/gdpelican/32/81308_2.png) [@gdpelican](https://meta.discourse.org/u/gdpelican)
#### Post date: [August 3, 2016, 4:37pm UTC](https://meta.discourse.org/t/tag-intersections-page/47952/2 "2016-08-03T16:37:15Z")

</div>

Thought I’d give this a slight bump. Would this be rejected from core if I made a PR for it?

---

<div class="post-metadata">

### Author: ![neil](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/neil/32/102150_2.png) [@neil](https://meta.discourse.org/u/neil)
#### Post date: [August 3, 2016, 7:24pm UTC](https://meta.discourse.org/t/tag-intersections-page/47952/3 "2016-08-03T19:24:25Z")

</div>

A PR for this is welcome! :heart:

---

<div class="post-metadata">

### Author: ![gdpelican](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/gdpelican/32/81308_2.png) [@gdpelican](https://meta.discourse.org/u/gdpelican)
#### Post date: [August 12, 2016, 8:13pm UTC](https://meta.discourse.org/t/tag-intersections-page/47952/4 "2016-08-12T20:13:27Z")

</div>

I’ve put in a PR for this here:

[https://github.com/discourse/discourse/pull/4387](https://github.com/discourse/discourse/pull/4387)

---

<div class="post-metadata">

### Author: ![tgxworld](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/tgxworld/32/106117_2.png) [@tgxworld](https://meta.discourse.org/u/tgxworld)
#### Post date: [August 13, 2016, 12:17am UTC](https://meta.discourse.org/t/tag-intersections-page/47952/5 "2016-08-13T00:17:20Z")

</div>

Hmm I think we should be supporting multiple tags instead of just two here for this feature.

---

<div class="post-metadata">

### Author: ![gdpelican](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/gdpelican/32/81308_2.png) [@gdpelican](https://meta.discourse.org/u/gdpelican)
#### Post date: [August 15, 2016, 8:03pm UTC](https://meta.discourse.org/t/tag-intersections-page/47952/6 "2016-08-15T20:03:34Z")

</div>

Okay, it does that now. :taco:

---

<div class="post-metadata">

### Author: ![neil](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/neil/32/102150_2.png) [@neil](https://meta.discourse.org/u/neil)
#### Post date: [August 15, 2016, 8:26pm UTC](https://meta.discourse.org/t/tag-intersections-page/47952/7 "2016-08-15T20:26:13Z")

</div>

Good stuff! It’s merged.

---

<div class="post-metadata">

### Author: ![tgxworld](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/tgxworld/32/106117_2.png) [@tgxworld](https://meta.discourse.org/u/tgxworld)
#### Post date: [August 16, 2016, 8:09am UTC](https://meta.discourse.org/t/tag-intersections-page/47952/8 "2016-08-16T08:09:02Z")

</div>

Found :bug: :bug:

[https://meta.discourse.org/tags/intersection/docker/email](https://meta.discourse.org/tags/intersection/docker/email)

 ![](https://global.discourse-cdn.com/meta/original/3X/9/f/9f83fffb7356a68ce8576f7fedb82f8136a74299.png)

# Ember routing issue

1. Go to [Topics tagged docker & email](https://meta.discourse.org/tags/intersection/docker/email)
2. Click `Tags`
3. Select any tags
4. Topic list is not filtered correctly

---

<div class="post-metadata">

### Author: ![gdpelican](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/gdpelican/32/81308_2.png) [@gdpelican](https://meta.discourse.org/u/gdpelican)
#### Post date: [August 17, 2016, 4:02pm UTC](https://meta.discourse.org/t/tag-intersections-page/47952/9 "2016-08-17T16:02:14Z")

</div>

Cool, thanks; grabbing those now.

[https://github.com/discourse/discourse/pull/4399](https://github.com/discourse/discourse/pull/4399)

---

<div class="post-metadata">

### Author: ![neil](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/neil/32/102150_2.png) [@neil](https://meta.discourse.org/u/neil)
#### Post date: [August 17, 2016, 9:38pm UTC](https://meta.discourse.org/t/tag-intersections-page/47952/10 "2016-08-17T21:38:55Z")

</div>

Yeah I fixed a few. We were both testing with `show filter by tag` enabled, so didn’t see some problems that appeared on meta. :blush:

---

<div class="post-metadata">

### Author: ![fellowshipforums](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/fellowshipforums/32/93448_2.png) [@fellowshipforums](https://meta.discourse.org/u/fellowshipforums)
#### Post date: [February 24, 2018, 5:47pm UTC](https://meta.discourse.org/t/tag-intersections-page/47952/11 "2018-02-24T17:47:06Z")

</div>

I’ve been reading up on Tags and the ability to intersect multiple tags so that you can query posts on multiple tags. Just wondering where this is at? Is this functionality enabled? If yes, how do I incorporate this in a ‘Tags’ page?

---

<div class="post-metadata">

### Author: ![fellowshipforums](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/fellowshipforums/32/93448_2.png) [@fellowshipforums](https://meta.discourse.org/u/fellowshipforums)
#### Post date: [February 24, 2018, 6:42pm UTC](https://meta.discourse.org/t/tag-intersections-page/47952/12 "2018-02-24T18:42:22Z")

</div>

For further detail, this is what we are looking to do:

On the main “tags” page, we want to have a row for “parent tags”, which are essentially tag categories that other tags fall under. In our example, Parent tags would include “Syllabus Material”, “Exams”, and “Case Study”.

When you click on the Parent tag, all of the corresponding “Child tags” show up, and can be sorted by Count or Name. Here, Syllabus Material is selected as the parent tag, and “Topic 2” is selected as the child tag. Once a child tag is selected, it shows up in the box above.

Step 1:

 ![IMG_20180224_121922](https://global.discourse-cdn.com/meta/original/3X/5/6/562f0561cd89e80d4e006ad66c752ac335e97493.jpg)

Multiple child tags can be selected from each parent tag. In step 2 (below), “Exam 20” (Child tag) is selected from the “Exams” (Parent tag) section. This then appears at the box at the top.

Step 2:

 ![IMG_20180224_122119](https://global.discourse-cdn.com/meta/original/3X/c/5/c5093ae42564489c08ef3578a9a8e2c2d729a0f6.jpg)

Similarly, “Case Study Topics 2” (Child tag) is selected, and shows up at the top.

Step 3:

 ![IMG_20180224_122334](https://global.discourse-cdn.com/meta/original/3X/b/8/b8053c1567e4dfc45ce3ea7db3011ee58abc6360.jpg)

Finally, clicking the “Go” button queries all of the threads that have the selected tag combinations.

Step 4:

 ![IMG_20180224_122435](https://global.discourse-cdn.com/meta/original/3X/2/4/240f817b2a7d7ad8f0d11455b737a2ad198e25e5.jpg)

Please let me know if this is doable. Thank you very much!

---

<div class="post-metadata">

### Author: ![Destry\_Hunt](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/destry_hunt/32/132757_2.png) [@Destry\_Hunt](https://meta.discourse.org/u/Destry_Hunt)
#### Post date: [March 11, 2019, 1:36am UTC](https://meta.discourse.org/t/tag-intersections-page/47952/13 "2019-03-11T01:36:32Z")

</div>

Are there any updates on this plugin? I really like the idea of intersecting multiple tags.

---

<div class="post-metadata">

### Author: ![jrgong](https://avatars.discourse-cdn.com/v4/letter/j/c57346/32.png) [@jrgong](https://meta.discourse.org/u/jrgong)
#### Post date: [March 11, 2019, 2:15am UTC](https://meta.discourse.org/t/tag-intersections-page/47952/14 "2019-03-11T02:15:56Z")

</div>

I would love that feature, too!

Especially I am interested in multiple drop down fields - one for each tag category. That way users can filter posts based on different “taxonomies” (Using the wp term here)

---

<div class="post-metadata">

### Author: ![cjk77](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/cjk77/32/151779_2.png) [@cjk77](https://meta.discourse.org/u/cjk77)
#### Post date: [March 11, 2019, 10:21am UTC](https://meta.discourse.org/t/tag-intersections-page/47952/15 "2019-03-11T10:21:12Z")

</div>

You can already do this using a URL in the form

`https://yoursite.net/tags/intersection/tag1/tag2`

You can then bookmark that URL or add it to a menu or whatever you like. It’s not quite as simple as a checkbox or dropdown, but it’s pretty straightforward for most users to take advantage of if they wish.

---

<div class="post-metadata">

### Author: ![Destry\_Hunt](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/destry_hunt/32/132757_2.png) [@Destry\_Hunt](https://meta.discourse.org/u/Destry_Hunt)
#### Post date: [March 12, 2019, 3:55am UTC](https://meta.discourse.org/t/tag-intersections-page/47952/16 "2019-03-12T03:55:03Z")

</div>

Thank you for the tip, I will definitely check it out.

---

<div class="post-metadata">

### Author: ![merefield](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/merefield/32/176214_2.png) [@merefield](https://meta.discourse.org/u/merefield)
#### Post date: [August 31, 2022, 3:59pm UTC](https://meta.discourse.org/t/tag-intersections-page/47952/17 "2022-08-31T15:59:15Z")

</div>

This is now a widget for the Layouts plugin:

> [@Render a component within a Widget. (Using select-kit components within plugin code)](https://meta.discourse.org/t/render-a-component-within-a-widget-using-select-kit-components-within-plugin-code/84462/31):
>
> This is now a thing, albeit slightly roughly finished atm: Requires the [Layouts Plugin](https://meta.discourse.org/t/layouts-plugin/55208). Repo of Theme Component here: [GitHub - merefield/discourse-tc-bars-tag-intersection-chooser: A small widget to allow you to navigate to a topic list based on a combinations of tags · GitHub](https://github.com/paviliondev/layouts-tag-intersection-widget)
