Is it possible to display archive pages of posts based on their taxonomies, and an archive page of a term in that taxonomy??

For example, i have a site about beauty products, and i write a product review as a post. I want to put it in the 'hair' category, and in the taxonomy 'shampoo', with the term 'dry'. I have managed to create an archive page for all posts within the 'hair' category, but i cant figure out how i then create a page to show all products that are in 'hair' AND with a taxonomy of 'shampoo'. I would also need a further page showing all products in 'hair' AND 'shampoo' AND 'dry'. ie. mysite/hair/shampoo/dry where hair is the category, shampoo is the taxonomy, and dry is the term.

Am i on the right track in thinking i need to create a taxonomy-shampoo.php page? Any help would be greatly appreciated. Thanks, Patrick.

  • Interesting question, but it needs some clarification. Both category and your shampoo are taxonomies. If you want to view all posts with the dry tag in the shampoo taxonomy, you should get them at mysite/shampoo/dry, like you can see the category hair at mysite/categories/hair (with the original structure). But you want to add an extra format: mysite/[category-slug]/[taxonomy-name]/[taxonomy-term-slug], to view all posts in one category and one term of your custom taxonomy. I think you need to add a new rewrite structure to support that.
    – Jan Fabry
    Commented Nov 2, 2010 at 16:22

3 Answers 3


The Template Hierarchy Codex entry is your friend.

  • Archive page for category hair: category-hair.php
  • Archive page for taxonomy shampoo: taxonomy-shampoo.php
  • Archive page for taxonomy shampoo term dry: taxonomy-shampoo-dry.php

To display some cross-query between different taxonomies, such as category and a custom taxonomy, such as hair, you'll need to do a custom query, and display it on your own custom page template, or something similar.


Is it possible to display archive pages of posts based on their taxonomies,


and an archive page of a term in that taxonomy??

Yes, as that's exactly the way it's done IIRC.

In case you can't do that with what's in out-of-the box, you can always do a custom query (Wordpress Codex) in conjunction with overriding your theme either in the theme loader or by registering something within the Permalink/URL space.


Check it, WordPress supports templates for taxonomy archives, both for the taxonomy itself and its individual terms, out of the box: http://codex.wordpress.org/File:Template_Hierarchy.png

But unfortunately, I don't know how to make a taxonomy for a taxonomy (categories are simply a kind of taxonomy, a default kind). All taxonomies exist unto themselves, in separate permalink structures.

Looking at your example, I want to know, why not just make "shampoo" a sub-category of "hair?" Then you'd get your URL of mysite/categories/hair/shampoo/dry.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.