Term pages that list all the content that has been tagged with that term are built with "Taxonomy term" Views. You can edit that View to change what those pages show (/admin/structure/views/view/taxonomy_term
).
Filter
The easiest change for you would be to add the Content type
Filter (from the "Content" Category) to your Views so your visitors can choose manually which types to see listed.
Expose it to your visitors (this option is in the Filter Settings). This will show a filter at the top of each Taxonomy term page that will allow visitors to limit the content to only the chosen content types.
I recommend cloning (duplicating) the Taxonomy term Views, disabling the original and working on the duplicate so you can always refer back to it.
Contextual Filter
For a more automatic solution you can add a Contextual filter instead of a regular one (Contextuals are under Advanced View settings) to filter the results, and build a new Views Display to list the new taxonomy term links that are sensitive to the types of content.
There is already the "Has taxonomy term" contextual filter present there, you need to keep it.
Add another Contextual filter, named Content type
, configure it with these options:
When the filter value is NOT in the URL
Hide view
When the filter value IS in the URL or a default is provided
Specify validation criteria
Validator
Content type
Case in path
Lower case
More
Transform spaces to dashes in URL
Rearrange the Contextuals so the type one comes up first, and the "Has taxonomy term ID" comes second.
Edit the "Has taxonomy term ID" Contextual filter and change its option under When the filter value is NOT in the URL
from "Hide view" to "Display all results for the specified field".
This will enable you to add the content type into your path to have it automatically filtered by the type: /taxonomy/term/[ContentType]/[TID]
, for example: /taxonomy/term/article/5
.
There is also an option to override the Title if you need to correct it to name only the content types filtered out.
To test that your Contextual filter is working you can enter the argument for it in the Preview with contextual filters:
field and hit the Update preview
button if you don't have it set automatically. To view all the results without filtering simply delete the argument or enter all
at the Preview or at the end of your path. In this case Views takes 2 arguments so you need to include both of them, separated by /
, e.g.: article/5
, article/all
.
List all links
You can now use Views to build a list of all links to your terms for each content type. It can be a Block Display where you override the "Has taxonomy term ID" to display a Summary, and adjust the Content type Contextual to provide a Fixed Default value, add another Display for your second content type (it doesn't have to be automatic since you only have two types).
There is more than one way of doing this, it's out of scope of this question, but it gives you enough to know which direction to take and learn more.