I think this is more a general question than a specific one and I'll be treating it as such.
Taxonomies in general are used to group posts together that shares the same characteristic. The
category taxonomies are the most widely and commonly used of the four build in taxonomies to achieve this. Also very popular are custom taxonomies which gives you even more freedom to achieve your end goals.
Before I continue, you should really go and read this post I have done on taxonomies in order to understand how what they are are how they work.
The most important factor to take into consideration when deciding in using (and pairing for that matter) specific taxonomies are their hierarchy, of which there are two, hierarchical taxonomies like the taxonomy
category and non-hierarchical taxonomies like the taxonomy
post_tag. When creating a custom taxonomy, you can set them to be hierarchical or non-hierarchical.
How and when a taxonomy should be used should be based on that factor as this will decide the behavior, structure and complexity that you need. I do not say that this is the only factor, as it is not, there are still a lot of other smaller contibuting factors that you should take into account when deciding on the use of a particular taxonomy or taxonomies. What I do say is, this should be one of the most important factors to consider.
Many people mostly like to pair a hierarchical taxonomy with a non-hierarchical taxonomy and sometimes even uses more than two taxonomies to build very complex structures and relationships between posts. When you should use that and when not will totally depend on your exact use case and structure that you would like to accomplish.
JUST AS A FEW EXAMPLES:
In normal blog posts, I like to use the build in taxonomy
category to group my posts together which shares the same global characteristics. For instance, my blog is a multi purpose one, having posts about food, general discussions, sport, etc etc. So according to this I categorize my posts.
category is hierarchical, it's terms can have children, so I use that to further group my posts and create a more tighter relationship between them. Take for instance the category
sport, I can futher group these posts into sub categories like
The advantage of this is, if someone land on my blog, they can select what group of posts they would like to navigate to. A sports person can decide to go the sports page and see all the posts regarding all sports, or he can select to check out the rugby page, so going to the rugby page, he can see all posts regarding rugby. I can further group posts togther and create category terms under rugby to group posts together which is from the same team, etc.
post_tag I use for power words, so each tag term is a power word. Say I have a tag
lions-team, and there are posts in
discussion and in
sport mentioning the Lions rugby team, I can use the
lions-team tag to couple these posts together. So if someone selects the
lions-team tag, they can see all posts that mentions the Lions team regardless of the specific category term the posts are in
Just a quick second example, you have a shoe store selling shoes. You can create a very complex hierarchy and relationship between shoes (which can be normal posts or a custom post type posts) with a couple of taxonomies.
Hierarchichal taxonomies like
type comes to mind. So one specific shoe can be under the
brands taxonomy in a term called
nike, and in the
size taxonomy under a term
eleven and under the
type taxonomy in a term called
You can then have a non-hierarchical taxonomy called
specials with terms like
half-price which you tag your shoes if you are running a special promotion.
To answer your question
So i am wondering in what context should categories and tags be used for?
It all depends on your specific needs, use case, the type of hierarchy and relationship between posts you want to create and the maintainabilty of your system. And most importantly, your system should be organised in such a way to keep users on your site and giving them something that they like and can easily navigate through
I hope you find the above info useful